Model Card for Model ID
This model is a Jewelry Classifier. Just upload an image of one of the categories named below and the model will classify it for you.
- Pendant
- Bracelet
- Chain
- Earring
- Ring
- Watch
How to use?
Before following the steps below, please install these dependencies:
numpy==1.26.4
keras==3.3.3
pillow==10.3.0
Step1: Load the Model (jewelry_classification.h5)
Download the model file from (https://huggingface.co/beyondxlabs/JewelryClassification/resolve/main/jewelry_classification.h5?download=true) and then use the below code snippet to load the model.
model = load_model('jewelry_classification_model.h5')
class_labels = ['Anhänger', 'Armbänder', 'Ketten', 'Ohrringe', 'Ringe', 'Uhren']
Step 2: Preprocess your images
Before giving images to the model, that image needs to be preprocessed to get a numpy array. You can just use the below function.
def preprocess_image(img):
try:
img = Image.open(img)
img = img.resize((224, 224))
img_array = img_to_array(img)
img_array = np.expand_dims(img_array, axis=0)
img_array = img_array.astype(np.float32) / 255.0
return img_array
except Exception as error:
st.error(f"An error occurred during image preprocessing: {error}")
return None
Step 3: Predict the output
In this step the preprocessed image could be given to the model to get the classification. Below is the sample code snippet.
def choose_category(img, is_url=True):
try:
processed_img = preprocess_image(img, is_url)
if processed_img is not None:
preds = model.predict(processed_img)
category = class_labels[np.argmax(preds)]
confidence = np.max(preds)
return category, confidence*100
return 'Other', 0
except Exception as e:
st.error(f"An error occurred during prediction: {e}")
return 'Other', 0
Step 4(optional): Streamlit UI
Use the below snippet to make an UI Application using the model
# UI interface
import streamlit as st
st.title("Jewelry Classification")
uploaded_file = st.file_uploader("Choose an image...", type=["jpg"])
if st.button("Classify"):
if uploaded_file is not None:
category, confidence = choose_category(uploaded_file, is_url=False)
st.write(f"Predicted Category: **{category}** with confidence **{confidence:.2f}%**")
else:
st.error("Please upload an image file.")
Inference Providers
NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API:
The model has no library tag.