Untitled
unknown
plain_text
a year ago
2.5 kB
7
Indexable
import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import DepthwiseConv2D, Flatten, Dense from PIL import Image, ImageOps import numpy as np from os import system, name from ecapture import ecapture as ec import sys import os # Function to clear the console def clear(): _ = system('cls' if name == 'nt' else 'clear') # Suppress scientific notation for clarity np.set_printoptions(suppress=True) # Suppress TensorFlow logs and warnings os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3' tf.get_logger().setLevel('ERROR') # Load the labels with open("labels.txt", "r") as f: class_names = f.readlines() # Capture an image ec.capture(0, "your image", "thing.jpg") # Load and preprocess the image image_path = "thing.jpg" image = Image.open(image_path).convert("RGB") image = ImageOps.fit(image, (224, 224), Image.LANCZOS) image_array = np.asarray(image) normalized_image_array = (image_array.astype(np.float32) / 127.5) - 1 data = np.expand_dims(normalized_image_array, axis=0) # Define the model structure model = Sequential([ DepthwiseConv2D(kernel_size=(3, 3), strides=(1, 1), padding='same', depth_multiplier=1, activation='relu', use_bias=False, input_shape=(224, 224, 3)), Flatten(), Dense(len(class_names), activation='softmax') ]) # Load weights into the model try: model.load_weights("keras_Model.h5", by_name=True) except ValueError as e: print("Error loading weights:", e) # Predict class prediction = model.predict(data) index = np.argmax(prediction) class_name = class_names[index].strip() confidence_score = prediction[0][index] dots = 0 while confidence_score < 0.9: if dots == 0: print("loading") elif dots == 1: print("loading.") elif dots == 2: print("loading..") elif dots == 3: print("loading...") dots = -1 # Reinitialize the model and predict again model = Sequential([ DepthwiseConv2D(kernel_size=(3, 3), strides=(1, 1), padding='same', depth_multiplier=1, activation='relu', use_bias=False, input_shape=(224, 224, 3)), Flatten(), Dense(len(class_names), activation='softmax') ]) prediction = model.predict(data) index = np.argmax(prediction) class_name = class_names[index].strip() confidence_score = prediction[0][index] dots += 1 clear() print("Confidence Score:", confidence_score) print("Class:", class_name)
Editor is loading...
Leave a Comment