我正在使用Keras库,我只是尝试初始化VGG16模型,并且我收到的错误是所有输入都不是此图的元素。我正在使用Tensorflow后端。
输入
from keras.applications.vgg16 import VGG16
model = VGG16()
输出:
RUNFILE( 'C:/Users/joshu/Documents/Code/Testing/vgg_tester.py', wdir ='C:/ Users / joshu / Documents / Code / Testing')Traceback(最近的 最后打电话):
文件“”,第1行,in runfile('C:/Users/joshu/Documents/Code/Testing/vgg_tester.py',wdir ='C:/ Users / joshu / Documents / Code / Testing')
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ Spyder的\ utils的\网站\ sitecustomize.py” 第880行,在runfile中 execfile(filename,namespace)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ Spyder的\ utils的\网站\ sitecustomize.py” 第102行,在execfile中 exec(compile(f.read(),filename,'exec'),namespace)
文件“C:/Users/joshu/Documents/Code/Testing/vgg_tester.py”,第11行, 在 model = VGG16()
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ keras \应用程序\ vgg16.py” 第163行,VGG16 model.load_weights(weights_path)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ keras \发动机\ topology.py” 第2708行,在load_weights中 self.load_weights_from_hdf5_group(F)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ keras \发动机\ topology.py” 第2794行,在load_weights_from_hdf5_group中 K.batch_set_value(weight_value_tuples)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ keras \后端\ tensorflow_backend.py” 第1860行,在batch_set_value中 get_session()。run(assign_ops,feed_dict = feed_dict)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ keras \后端\ tensorflow_backend.py” 第121行,在get_session中 _initialize_variables()
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ keras \后端\ tensorflow_backend.py” 第273行,在_initialize_variables中 sess.run(tf.variables_initializer(uninitialized_variables))
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ tensorflow \ python的\客户端\ session.py” 第778行,在运行中 run_metadata_ptr)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ tensorflow \ python的\客户端\ session.py” 第969行,在_run fetch_handler = _FetchHandler(self._graph,fetches,feed_dict_string)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ tensorflow \ python的\客户端\ session.py” 第408行,在 init 中 self._fetch_mapper = _FetchMapper.for_fetch(fetches)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ tensorflow \ python的\客户端\ session.py” 第238行,在for_fetch中 return _ElementFetchMapper(fetches,contraction_fn)
文件 “C:\用户\上州\ Anaconda3 \ LIB \站点包\ tensorflow \ python的\客户端\ session.py” 第274行,在 init 中 “张量。 (%s)'%(fetch,str(e)))
ValueError:Fetch参数不能 被解释为张量。 (操作名称:“init_11”op:“NoOp” 输入:“^ block1_conv1_W_8 / Assign”输入:“^ block1_conv1_b_8 / Assign” 输入:“^ block1_conv2_W_8 / Assign”输入:“^ block1_conv2_b_8 / Assign” 输入:“^ block2_conv1_W_8 / Assign”输入:“^ block2_conv1_b_8 / Assign” 输入:“^ block2_conv2_W_8 / Assign”输入:“^ block2_conv2_b_8 / Assign” 输入:“^ block3_conv1_W_8 / Assign”输入:“^ block3_conv1_b_8 / Assign” 输入:“^ block3_conv2_W_8 / Assign”输入:“^ block3_conv2_b_8 / Assign” 输入:“^ block3_conv3_W_8 / Assign”输入:“^ block3_conv3_b_8 / Assign” 输入:“^ block4_conv1_W_8 / Assign”输入:“^ block4_conv1_b_8 / Assign” 输入:“^ block4_conv2_W_8 / Assign”输入:“^ block4_conv2_b_8 / Assign” 输入:“^ block4_conv3_W_8 / Assign”输入:“^ block4_conv3_b_8 / Assign” 输入:“^ block5_conv1_W_8 / Assign”输入:“^ block5_conv1_b_8 / Assign” 输入:“^ block5_conv2_W_8 / Assign”输入:“^ block5_conv2_b_8 / Assign” 输入:“^ block5_conv3_W_8 / Assign”输入:“^ block5_conv3_b_8 / Assign” 输入:“^ fc1_W_4 / Assign”输入:“^ fc1_b_4 / Assign”输入: “^ fc2_W_4 / Assign”输入:“^ fc2_b_4 / Assign”输入: “^ predictions_W_4 / Assign”输入:“^ predictions_b_4 / Assign”输入: “^ cond_153 / switch_f”不是此图的元素。)
答案 0 :(得分:0)
我拉开了VGG16代码和提到
的文档“image_data_format”:“channels_last”
包含在keras配置JSON文件中。添加它似乎可以解决问题。
不确定它与之间的区别:
“image_dim_ordering”:“tf”
但两者似乎都有效。