功能:該界面能夠加載一個50x50的mnist圖片,然後使用預訓練的模型進行預測“該圖片是幾"
代碼:test01.py
# -*- coding: utf-8 -*-
"""
Module implementing Form.
"""
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QWidget
import sys
from PyQt5 import QtWidgets, QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from Ui_test01 import Ui_Form
from PyQt5.QtWidgets import QApplication
import numpy as np
import os
import gzip
import keras
from keras.models import Sequential # 導入序貫模型,可以通過順序的方式,疊加神經網絡層
from keras.layers import Dense
from keras import optimizers
from keras.optimizers import SGD # 導入優化函數
from keras.models import load_model
import imageio
class Form(QWidget, Ui_Form):
"""
Class documentation goes here.
"""
def __init__(self, parent=None):
"""
Constructor
@param parent reference to the parent widget
@type QWidget
"""
super(Form, self).__init__(parent)
self.setupUi(self)
@pyqtSlot()
def on_pushButton_clicked(self):
self.imgName, imgType = QFileDialog.getOpenFileName(self, "打開圖片", "", "*.jpg;;*.png;;All Files(*)")
self.jpg = QtGui.QPixmap(self.imgName).scaled(self.label.width(), self.label.height())
self.label.setPixmap(self.jpg)
@pyqtSlot()
def on_pushButton_2_clicked(self):
"""
Slot documentation goes here.
"""
# 模型的路徑
path = "D:/Data/Model/model_file_path.h5"
#加載模型
model = load_model(path)
png=imageio.imread(self.imgName)
png=png.reshape(1,784)
png=np.tile(png,[64,1])
result=model.predict(png)
#print(np.argmax(result[0]))
value=np.argmax(result[0])
self.lineEdit.setText(str(value))
if __name__ == "__main__":
app = QApplication(sys.argv)
myWin = Form()
myWin.show()
sys.exit(app.exec_())
效果:
代碼和數據下載
鏈接:https://pan.baidu.com/s/1UDNkgTfZiN6RD9Qt0cM_eA
提取碼:0ow0