- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Tensorflow 开发一个项目。我已经构建并训练了一个 CNN,现在我尝试将其加载到另一个文件中以进行预测。由于某种原因,我不断收到错误“您必须使用 dtype float 和 shape [10] 为占位符张量 'y_pred' 提供值”
构建图表的文件有一个用于预测的变量 y_pred:
y_pred = tf.nn.softmax(layer_fc2)
我尝试加载模型的文件如下:
# Create Session
sess = tf.Session()
# Load model
saver = tf.train.import_meta_graph('Model.meta')
saver.restore(sess, tf.train.latest_checkpoint('./'))
sess.run(tf.global_variables_initializer())
graph = tf.get_default_graph()
x_batch = mnist.test.next_batch(1)
x_batch = x_batch[0].reshape(1, 784)
x = graph.get_tensor_by_name("x:0")
y_pred = graph.get_tensor_by_name("y_pred:0")
classification = sess.run(y_pred, feed_dict={x:x_batch})
print(classification)
我收到的确切错误是:
InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'y_pred' with dtype float and shape [10]
[[Node: y_pred = Placeholder[dtype=DT_FLOAT, shape=[10], _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
我想知道在导出之前是否我没有正确设置该值?有谁知道为什么这不起作用?
编辑。包括型号代码:
# Network Design
# First Layer
layer_conv1, weights_conv1 = new_conv_layer(input=x_image, num_input_channels=num_channels, filter_size=filter_size1, num_filters=num_filters1, use_pooling=True)
# Second Layer
layer_conv2, weights_conv2 = new_conv_layer(input=layer_conv1, num_input_channels=num_filters1, filter_size=filter_size2, num_filters=num_filters2, use_pooling=True)
# Third Layer
layer_conv3, weights_conv3 = new_conv_layer(input=layer_conv2, num_input_channels=num_filters2, filter_size=filter_size3, num_filters=num_filters3, use_pooling=True)
# Flatten Layer
layer_flat, num_features = flatten_layer(layer_conv3)
# First Fully Connected Layer
layer_fc1 = new_fc_layer(input=layer_flat, num_inputs=num_features, num_outputs=fc_size, use_relu=True)
# Second Fully Connected Layer
layer_fc2 = new_fc_layer(input=layer_fc1, num_inputs=fc_size, num_outputs=num_classes, use_relu=False)
# softmaxResult = tf.placeholder(tf.float32, shape=[10], name='softmaxResult')
# Get class probabilities
y_pred = tf.nn.softmax(layer_fc2)
y_pred = tf.identity(y_pred, name="y_pred")
# session.run(y_pred, feed_dict={softmaxResult: y_pred})
# Predicted Class
y_pred_cls = tf.argmax(y_pred, dimension=1)
# softmaxResult.assign(y_pred_cls)
# Feed y_pred
# session.run(softmaxResult, feedDict={softmaxResult: softmaxResult})
# Define Cost Function
cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits=layer_fc2, labels=y_true)
cost = tf.reduce_mean(cross_entropy)
# Optimize Network
optimizer = tf.train.AdamOptimizer(learning_rate=1e-4).minimize(cost)
correct_prediction = tf.equal(y_pred_cls, y_true_cls)
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
# Run Session
session.run(tf.global_variables_initializer())
def print_progress(epoch, feed_dict_train, feed_dict_validate, val_loss):
#Calculate accuracy on training set
acc = session.run(accuracy, feed_dict=feed_dict_train)
val_acc = session.run(accuracy, feed_dict=feed_dict_validate)
msg = "Epoch {0} --- Training Accuracy: {1:>6.1%}, Validation Accuracy: {2:>6.1%}, Validation Loss: {3:.3f}"
print(msg.format(epoch + 1, acc, val_acc, val_loss))
total_iterations = 0
#Optimization Function
def optimize(num_iterations):
# Updates global rather than local value
global total_iterations
best_val_loss = float("inf")
for i in range(total_iterations, total_iterations + num_iterations):
# Get training data batch
x_batch, y_batch = mnist.train.next_batch(batch_size)
# Get a validation batch
x_validate, y_validate = mnist.train.next_batch(batch_size)
# Shrink to single dimension
x_batch = x_batch.reshape(batch_size, img_size_flat)
x_validate = x_validate.reshape(batch_size, img_size_flat)
# Training feed
feed_dict_train = {x: x_batch, y_true: y_batch}
feed_dict_validate = {x: x_validate, y_true: y_validate}
# Run the optimizer
session.run(optimizer, feed_dict=feed_dict_train)
# Print status at end of each epoch (defined as full pass through training dataset).
if i % int(5000/batch_size) == 0:
val_loss = session.run(cost, feed_dict=feed_dict_validate)
epoch = int(i / int(5000/batch_size))
print_progress(epoch, feed_dict_train, feed_dict_validate, val_loss)
total_iterations += num_iterations
optimize(num_iterations=3000)
# Save the final model
saver = tf.train.Saver()
saved_path = saver.save(session, os.path.join(os.getcwd(),'MNIST Model'))
print("Model saved in: ", saved_path)
# Run on test image
image = mnist.test.next_batch(1)
feedin = image[0].reshape(1, 784)
inputStuff = {x:feedin}
classification = session.run(y_pred, feed_dict=inputStuff)
print(classification)
最佳答案
谢谢@VS_FF
您需要在“x:0”中找到他们输入的 key 。
关于python - Tensorflow 导入元图占位符未提供,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44375600/
我尝试使用以下 json,但 wiremock 无法识别我的更改。我看了wiremock的文档,看到他们说:JSON相等匹配是基于JsonUnit的,因此支持占位符。我也尝试使用 JDK 8 和 JD
我发现这种方法可以使用 mixin 轻松添加 @media block : @mixin phone() { @media only screen and (max-width: 480px)
我有四个依赖的选择列表,我想给所有选择列表一个默认值/占位符,如下所示:select ... 。问题是,当我尝试这样做时: Select ... 它不起作用。因为当我更改第一个选择列表时,其他选择列表
所以我只是浏览我们的库存管理系统的代码我看到了我一位同事的一些片段,他在某些功能中所做的只是例如,只需打开它们并在其中插入命令 procedure TWerkStF.TBBtnStatiClick(S
因此,对于我当前的 Bukkit(Minecraft)插件,我必须使用 ItemStacks 的名称。我通过这样做得到这些名字 item.getItemMeta().getDisplayName();
我想为 JAVA 开发一个猜词游戏,但在开发 GUI 时遇到了一些困难。我并不是想开发一个仅使用一个文本字段的简单 GUI,我想开发一个更像移动设备的 GUI。因此,我希望白框显示为单词中字符的占位符
我想测试输出是否如下所示: String s1 = "You have 5 Dollar in your bank account." 要通过测试,字符串需要相等,所以我需要一个相等的字符串: Str
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭11 年前。 Improve th
我一直在使用 JavaScript 占位符脚本来支持 IE 占位符。 适用于输入类型 = 文本。但是我该如何在脚本中添加一个支持 textarea 的内容呢? 我的代码是: function acti
我正在寻找一个正则表达式,它可以正确检测字符串中是否存在 printf() 类型的占位符。 最佳答案 事实证明这比看起来要复杂一些,答案取决于您想对占位符做什么,以及您对 printf 和正则表达式使
注意占位符在 Stackoverflow 提问标题和 Twitter 注册表单上的工作方式:https://twitter.com/signup 占位符有两种状态: 未选择(显示占位符) 已选择,但有
我想将"template"文件的输出通过管道传输到 MySQL,该文件散布着 ${dbName} 等变量。替换这些实例并将输出转储到标准输出的命令行实用程序是什么? 输入文件被认为是安全的,但可能存在
我有一个像这样的js数组: let data = [{status:"stay",points:[1,2,3,4,5]}, {status:"move",points:[1,2,3,4,5]},{st
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: Show default value for editing on Python input possible? 我
我正在尝试使用 python format 方法将我的占位符格式化为字符串。 问题是字符串内部包含 {} 并且字符串方法无法解析它。 my_value='v' '{"k":"{value}"}'.fo
我正在使用 PHP + CodeIgniter 构建一个多语言应用程序。我决定使用 gettext 进行 UI 文本翻译,到目前为止,它已被证明高效且易于使用。 但现在我遇到了一些非常烦人的事情:ge
我有一个 NSAttributedString 看起来像 “一些字符串 bold %@ template %f %d blah blah blah” 我希望能够像 [NSString stringWi
我喜欢偶尔为占位符使用空函数(主要是空构造函数,因为它有助于避免构造函数的意外重复,因为我的团队知道必须始终有一个构造函数)。 我还喜欢对一个类的每个方法至少进行一次测试(主要是因为这是一个很好的简单
我正在尝试向 Angular 4 上的选择添加占位符,但无法使其正常工作, 这是我的代码: Please select one option {{ select
有没有办法在 sqlite3 中设置查询的占位符?我有一些与数据库一起工作的函数,如果它们可以同时与 mysql 和 sqlite 一起工作,那就更令人满意了。Mysql 和 Postgres pyt
我是一名优秀的程序员,十分优秀!