繁体   English   中英

3 类预​​测 CNN 深度学习

[英]3 Classes prediction CNN Deep Learning

我在三个类中训练了我的模型,现在我想一次输入一张图像,看看它属于 1、2 类还是 3 类。

data = []
img_size = 224

for i in categories:
    path = os.path.join(TRAIN_DIR1, i)   
    class_num = categories.index(i)
    for file in os.listdir(path):
        filepath = os.path.join(path, file)
        img = cv2.imread(filepath, 0)
        img = cv2.resize(img, (img_size, img_size))
        data.append([img, class_num])
random.shuffle(data)
X, y = [], []
for feature, label in data:
    X.append(feature)
    y.append(label)
X = np.array(X).reshape(-1, img_size, img_size, 1)
X = X / 255.0
y = np.array(y)

X_train, X_valid, y_train, y_valid = train_test_split(X, y, random_state=20, stratify=y)

X_train = X_train.reshape(X_train.shape[0], img_size*img_size*1)

model.compile(loss='sparse_categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

请帮助我编写预测代码以一次输入一张测试图像。

import cv2

img_directory = input(str("Input directory: ")) # 'C:/dataset/img.png'

img= cv2.imread(img_directory)

img=cv2.resize(img, (180,180))

img = tf.expand_dims(img, 0)

prediction = model.predict(img)

score = tf.nn.softmax(prediction[0])

print(
    "This image most likely belongs to {} with a {:.2f} percent confidence."
    .format(class_names[np.argmax(score)], 100 * np.max(score))
) 

您可以在输入quit时使用 while 循环连续进入带有break的 img 目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM