Я изменил код свертки по следующей ссылке.
https://github.com/navoshta/kaggle-facial-keypoints-detection
Я обучил модель, на которой она работала без ошибок, у меня возник вопрос: я использовал следующий код для восстановления модели, однако вывод, когда я пытаюсь увидеть, что слои графиков (просто хотел посмотреть, правильно ли она загружена)
он говорит 0, так что я в замешательстве, поскольку он загружает модель из метафайла и переменные из model.ckpt. Кроме того, я был бы рад, если кто-нибудь может помочь в том, как я могу использовать эту модель на одном изображении, вне изображения - массив размером 152 (обнаружение 76 ориентиров), обученный на наборе данных MUCT
get_ipython().run_line_magic('matplotlib', 'inline')
import numpy as np
import matplotlib
matplotlib.use('TkAgg', warn = False)
from matplotlib import pyplot
import os
import time
from PIL import Image
from pandas import DataFrame
from pandas.io.parsers import read_csv
from sklearn.utils import shuffle
from sklearn.model_selection import train_test_split
from nolearn.lasagne import BatchIterator
import tensorflow as tf
print("done loading libraries")
# In[23]:
FROOT = os.getcwd() # Path to your project folder
Fimage = FROOT + '\image.jpg'
print(Fimage)
#FModel=FROOT+'\MUCTmodel_3con_2fc_b36_e100_aug_lrdec_mominc_dr\model.ckpt.meta'
#Fses=FROOT+'\MUCTmodel_3con_2fc_b36_e100_aug_lrdec_mominc_dr\model.ckpt'
Irows=640
Icols=480
# In[24]:
#loads image
# In[25]:
#loads image
img=Image.open(Fimage).convert('LA')
img.show()
# In[26]:
print(img)
# In[27]:
#convert to numpy array
img_arr=np.array(img)[:,:,0]
img_arrnormal=img_arr/255
X = img_arrnormal.astype(np.float32)
XR=X.reshape(-1,Irows,Icols,1)
XR.shape
# In[28]:
#display X
print(XR)
# In[29]:
y_pred=[]
# In[37]:
#loading model
#with tf.Session() as sess:
# saver = tf.train.import_meta_graph('/models/model.ckpt.meta')
# saver.restore(sess,Fses)
# y_pred=sess.run(pred,feed_dict={
# x:X
# })
#sess = tf.Session('', tf.Graph())
#with sess.graph.as_default():
# # Read meta graph and checkpoint to restore tf session
# saver = tf.train.import_meta_graph(".\models\model.ckpt.meta")
# saver.restore(sess, ".\models\model.ckpt")
# y_pred=sess.run('softmax_linear/softmax_linear:0',feed_dict={hash(tuple(XR))})
# print("done")
sess=tf.Session()
saver = tf.train.import_meta_graph(".\muctdata\models\MUCTmodel_3con_2fc_b36_e100_aug_lrdec_mominc_dr\model.ckpt.meta")
saver.restore(sess,'.\muctdata\models\MUCTmodel_3con_2fc_b36_e100_aug_lrdec_mominc_dr\model.ckpt')
print("done")
layers = [op.name for op in graph.get_operations() if op.type=='Conv2D' and 'import/' in op.name]
feature_nums = [int(graph.get_tensor_by_name(name+':0').get_shape()[-1]) for name in layers]
print('Number of layers', len(layers))
print('Total number of feature channels:', sum(feature_nums))