Tôi muốn xây dựng và đào tạo mạng nơron bằng khung máy ảnh. Tôi cấu hình keras rằng nó sẽ sử dụng Tensorflow như một backend. Sau khi tôi đào tạo mô hình với keras, tôi đã cố gắng sử dụng Tensorflow chỉ. Tôi có thể truy cập vào phiên và lấy đồ thị tensorflow. Nhưng tôi không biết làm thế nào để sử dụng đồ thị tensorflow ví dụ để thực hiện một dự đoán.Cách sử dụng mô hình tensorflow được trích xuất từ mô hình máy ảnh được đào tạo
tôi xây dựng một mạng lưới với các hướng dẫn sau đây http://machinelearningmastery.com/tutorial-first-neural-network-python-keras/
trong phương pháp đào tạo() i xây dựng và đào tạo một mô hình sử dụng chỉ keras và lưu keras và mô hình tensorflow
trong eval() phương pháp
đây là Mã của tôi:
from keras.models import Sequential
from keras.layers import Dense
from keras.models import model_from_json
import keras.backend.tensorflow_backend as K
import tensorflow as tf
import numpy
sess = tf.Session()
K.set_session(sess)
# fix random seed for reproducibility
seed = 7
numpy.random.seed(seed)
# load pima indians dataset
dataset = numpy.loadtxt("pima-indians-diabetes.csv", delimiter=",")
# split into input (X) and output (Y) variables
X = dataset[:, 0:8]
Y = dataset[:, 8]
def train():
# create model
model = Sequential()
model.add(Dense(12, input_dim=8, init='uniform', activation='relu'))
model.add(Dense(8, init='uniform', activation='relu'))
model.add(Dense(1, init='uniform', activation='sigmoid'))
# Compile model
model.compile(loss='binary_crossentropy', optimizer='adam', metrics['accuracy'])
# Fit the model
model.fit(X, Y, nb_epoch=10, batch_size=10)
# evaluate the model
scores = model.evaluate(X, Y)
print("%s: %.2f%%" % (model.metrics_names[1], scores[1] * 100))
# serialize model to JSON
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
# serialize weights to HDF5
model.save_weights("model.h5")
# save tensorflow modell
saver = tf.train.Saver()
save_path = saver.save(sess, "model")
def eval():
# load json and create model
json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
# load weights into new model
loaded_model.load_weights("model.h5")
# evaluate loaded model on test data
loaded_model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
score = loaded_model.evaluate(X, Y, verbose=0)
loaded_model.predict(X)
print ("%s: %.2f%%" % (loaded_model.metrics_names[1], score[1]*100))
# load tensorflow model
sess = tf.Session()
saver = tf.train.import_meta_graph('model.meta')
saver.restore(sess, tf.train.latest_checkpoint('./'))
# TODO try to predict with the tensorflow model only
# without using keras functions
tôi có thể truy cập vào đồ thị tensorflow (sess.graph) mà khung máy ảnh được xây dựng cho tôi nhưng tôi không biết làm thế nào tôi có thể dự đoán với đồ thị tensorflow. Tôi biết làm thế nào tôi có thể xây dựng một đồ thị tensorflow và dự đoán với nó trong generell nhưng không phải với các mô hình keras xây dựng cho tôi.