人工智能-实验四( 四 )


验证与评估
? 有了训练好的模型后 , 就可以进行模型的测试 , 测试数据的读入和训练时读入数据类似 , 包含图像的像素信息和label , 并将label转换为编码 。
【人工智能-实验四】imgsPath = "/opt/test/"def load_test_set(path):pics, labels = [], []map_characters = {0: 'A', 1: 'C', 2: 'D',3: 'F', 4: 'G', 5: 'H', 6: 'I',7: 'J', 8: 'K', 9: 'L', 10:'M',11:'P', 12:'R', 13:'S', 14:'T', 15:'V'}num_classes = len(map_characters)img_width = 42img_height = 42map_characters = {v:k for k,v in map_characters.items()}for pic in glob.glob(path+'*.*'): name = "".join(os.path.basename(pic).split('_')[0]) if name in map_characters:img = cv2.imread(pic)img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)img = cv2.resize(img, (img_height,img_width)).astype('float32') / 255.pics.append(img)labels.append(map_characters[name])X_test = np.array(pics)y_test = np.array(labels)y_test = keras.utils.to_categorical(y_test, num_classes) # one-hot编码return X_test, y_test
? 载入测试数据后 , 载入训练好的模型 , 使用模型对测试数据进行分类 , 并将分类结果与正确的类别进行比较 , 计算模型测试的准确率 。
def acc():model = load_model("model.h5")# 预测与对比y_pred = model.predict_classes(X_valtest)acc = np.sum(y_pred==np.argmax(y_valtest, axis=1))/np.size(y_pred)return(acc)
3.思考题-深度学习算法参数的设置对算法性能的影响
? 深度学习中的超参数是控制模型结构、训练效率、训练效果的关键 。常见的超参数及对模型训练的影响如下:
参考资料
[1] TEAM K. Keras : r[EB/OL]//keras.io.
[2]深度学习中的超参数 , 以及对模型训练的影响_rnn模型超参数的影响的博客-CSDN博客[EB/OL]//. [2023-05-28].
[3]深度学习中的超参数调节( rate、、batch-size…)[EB/OL]//知乎专栏. [2023-05-28].
/.
[2]深度学习中的超参数 , 以及对模型训练的影响_rnn模型超参数的影响的博客-CSDN博客[EB/OL]//. [2023-05-28].
[3]深度学习中的超参数调节( rate、、batch-size…)[EB/OL]//知乎专栏. [2023-05-28].