首页 文章

ValueError:Fetch参数<tf.Operation 'init_8' type = NoOp>不能解释为Tensor .

提问于
浏览
1

我正在使用Keras库,我只是尝试初始化VGG16模型,并且我收到的错误是所有输入都不是此图的元素 . 我正在使用Tensorflow后端 .

input:

from keras.applications.vgg16 import VGG16

model = VGG16()

output:

runfile('C:/Users/joshu/Documents/Code/Testing/vgg_tester.py',wdir ='C:/ Users / joshu / Documents / Code / Testing')Traceback(最近一次调用最后一次):文件“” ,第1行,在runfile中('C:/Users/joshu/Documents/Code/Testing/vgg_tester.py',wdir ='C:/ Users / joshu / Documents / Code / Testing')文件“C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py“,第880行,在runfile execfile(文件名,命名空间)文件”C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ spyder \ utils \ site \ sitecustomize.py“,第102行,在execfile exec(compile(f.read(),filename,'exec'),namespace)文件”C:/ Users / joshu / Documents / Code / Testing / vgg_tester .py“,第11行,在model = VGG16()文件”C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ keras \ applications \ vgg16.py“,第163行,在VGG16 model.load_weights(weights_path)中文件“C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ keras \ engine \ topology.py”,第2708行,在load_weights中self.load_weights_from_hdf5_group(f)文件“C:\ Users \ joshu \ Anaconda3 \ lib \站点包\ keras \发动机\ topolo gy.py“,第2794行,在load_weights_from_hdf5_group中K.batch_set_value(weight_value_tuples)文件”C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py“,第1860行,在batch_set_value中get_session() .run(assign_ops,feed_dict = feed_dict)文件“C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py”,第121行,在get_session中_initialize_variables()文件“C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py“,第273行,在_initialize_variables sess.run(tf.variables_initializer(uninitialized_variables))文件”C:\ Users \ joshu \ Anaconda3 \ lib \ site- packages \ tensorflow \ python \ client \ session.py“,第778行,运行run_metadata_ptr)文件”C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py“,第969行,在_run fetch_handler = _FetchHandler(self._graph,fetches,feed_dict_string)文件“C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,第408行,在init self中 . _fetch_mapper = _ FetchMapper.for_fetch(提取)文件“C:\ Users \ joshu \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py”,第238行,in_fetch返回_ElementFetchMapper(fetches,contraction_fn)文件“C: \ Users \ joshu \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ client \ session.py“,第274行,在init'Tensor中 . (%s)'%(fetch,str(e)))ValueError:Fetch参数不能解释为Tensor . (操作名称:“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 /分配“input:”^ block2_conv1_b_8 /分配“input:”^ block2_conv2_W_8 /分配“input:”^ block2_conv2_b_8 /分配“input:”^ block3_conv1_W_8 /分配“input:”^ block3_conv1_b_8 /分配“input:”^ 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 /分配“input:”^ block5_conv3_W_8 /分配“input:”^ block5_conv3_b_8 /分配“input:”^ fc1_W_4 /分配“input:”^ fc1_b_4 /分配“input:”^ fc2_W_4 / Assign“inp ut:“^ fc2_b_4 / Assign”输入:“^ predictions_W_4 / Assign”输入:“^ predictions_b_4 / Assign”输入:“^ cond_153 / switch_f”不是此图的元素 . )

1 回答

  • 0

    我拉开了VGG16代码和提到的文档

    “image_data_format”:“channels_last”

    包含在keras配置JSON文件中 . 添加它似乎可以解决问题 .

    不确定它和之间的区别:

    “image_dim_ordering”:“tf”

    但两者似乎都有效 .

相关问题