python - 获取参数 None 的类型无效
问题描述
我是 Tensorflow 的新手,所以请多多包涵,我正在学习本教程,但遇到了一个我不知道如何解决的错误。任何人都可以帮助我吗?提前致谢。
这是我尝试执行的代码:
def train():
model = Model()
with tf.Graph().as_default():
images, val_images, labels, val_labels = load_training_data()
x = tf.placeholder(shape=[FLAGS.batch_size, IMAGE_SIZE, IMAGE_SIZE, 1], dtype=tf.float32, name='x')
y = tf.placeholder(shape=[FLAGS.batch_size, NUM_LABELS], dtype=tf.float32, name='y')
keep_prob = tf.placeholder(tf.float32, name='dropout_prob')
global_step = tf.contrib.framework.get_or_create_global_step()
logits = model.inference(x, keep_prob=keep_prob)
loss = model.loss(logits=logits, labels=y)
accuracy = model.accuracy(logits, y)
summary_op = tf.summary.merge_all()
train_op = model.train(loss, global_step=global_step)
init = tf.global_variables_initializer()
saver = tf.train.Saver()
with tf.Session(config=tf.ConfigProto(log_device_placement=True)) as sess:
writer = tf.summary.FileWriter(FLAGS.summary_dir, sess.graph)
print(writer)
sess.run(init)
for i in range(FLAGS.num_iter):
offset = (i * FLAGS.batch_size) % (len(images) - FLAGS.batch_size)
batch_x, batch_y = images[offset:(offset + FLAGS.batch_size), :], labels[
offset:(offset + FLAGS.batch_size), :]
_, cur_loss, summary = sess.run([train_op,
loss,
summary_op],
feed_dict={
x: batch_x,
y: batch_y,
keep_prob: 0.5
})
writer.add_summary(summary, i)
print(i, cur_loss)
if i % 1000 == 0:
validation_accuracy = accuracy.eval(feed_dict={x: val_images, y: val_labels, keep_prob: 1.0})
print('Iter {} Accuracy: {}'.format(i, validation_accuracy))
if i == FLAGS.num_iter - 1:
saver.save(sess, FLAGS.checkpoint_file_path, global_step)
这是错误日志:
TypeError Traceback (most recent call last)
<ipython-input-72-8d21e7b24473> in <module>()
49 saver.save(sess, FLAGS.checkpoint_file_path, global_step)
50
---> 51 train()
<ipython-input-72-8d21e7b24473> in train()
36 x: batch_x,
37 y: batch_y,
---> 38 keep_prob: 0.5
39 })
40
我还需要补充一点,我目前正在开发 Kaggle Notebook,所以如果这会影响事情,请告诉我。
解决方案
看起来像其中之一train_op
,loss
或者summary_op
是无。
你没有提供完整的代码,所以我不能多说。检查您Model
班级的相应功能。
此外,如果在笔记本环境中工作,请确保在进行一些更改后执行所有相关单元格。例如,您可以尝试从头开始执行所有单元格。
推荐阅读
- java - windowListenning、keyListenning 的问题:Java
- sql - SQL Developer 错误:ORA-06512 和 ORA-04088
- sql - activerecord 中的最新内部查询
- json - 删除 json 文件中不必要的句子
- powershell - 使用 PS 脚本对内容进行排序
- python - 在并行python中抽取许多随机样本
- html - 如果小数点后的末尾出现零,则包含角货币管道
- c# - 有没有办法将字符串数组而不是单独的参数传递给实体框架类?
- arrays - 对象数组的角度提取字段
- javascript - 未捕获的 SyntaxError:res.Render 上的意外标识符 - NodeJS