我遇到了上述错误。我想加载单张图像作为输入,并使用给定的掩码图像进行图像二分类训练。
展平输入数据
images_flat = tf.contrib.layers.flatten(x)
全连接层
logits = tf.contrib.layers.fully_connected(images_flat, 2, tf.nn.relu)
定义损失函数
loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels = y, logits = logits))
定义优化器
train_op = tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss)
将logits转换为标签索引
correct_pred = tf.argmax(logits, 1)
定义准确率指标
accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32)tf.set_random_seed(1234)sess = tf.Session()sess.run(tf.global_variables_initializer())for i in range(201): print('EPOCH', i) _, accuracy_val = sess.run([train_op, accuracy], feed_dict={x: images[1], y: maskk}) if i % 10 == 0: print("Loss: ", loss) print('DONE WITH EPOCH')
回答:
听起来你缺少了批次大小维度,尝试使用 np.expand_dims(image, dim=0)