【问题标题】:augment mnsit dataset tensorflow增强 mnist 数据集张量流
【发布时间】:2018-04-07 00:58:45
【问题描述】:

我正在尝试扩充 MNIST 数据集。这是我尝试过的。无法获得任何成功。

from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf

X = mnist.train.images
y = mnist.train.labels

def flip_images(X_imgs):
    X_flip = []
    tf.reset_default_graph()
    X = tf.placeholder(tf.float32, shape = (28, 28, 1))
    input_d = tf.reshape(X_imgs, [-1, 28, 28, 1])
    tf_img1 = tf.image.flip_left_right(X)
    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())
        for img in input_d:
            flipped_imgs = sess.run([tf_img1], feed_dict = {X: img})
            X_flip.extend(flipped_imgs)
    X_flip = np.array(X_flip, dtype = np.float32)
    return X_flip

flip = flip_images(X)

我做错了什么?我似乎无法弄清楚。

错误:

Line: for img in input_d:
raise TypeError("'Tensor' object is not iterable.")
TypeError: 'Tensor' object is not iterable

【问题讨论】:

  • 您能否添加有关您收到的错误消息和您期望的信息?问题不完整。
  • 更新问题

标签: python tensorflow machine-learning computer-vision mnist


【解决方案1】:

首先,请注意您的 tf.reshape 将类型从 ndarray 更改为张量。需要调用 .eval() 才能将其恢复。在那个 for 循环中,您正在尝试迭代张量(不是列表或真正的可迭代对象),请考虑按如下方式进行数字索引:

X = mnist.train.images
y = mnist.train.labels

def flip_images(X_imgs):

    X_flip = []
    tf.reset_default_graph()
    X = tf.placeholder(tf.float32, shape = (28, 28, 1))

    input_d = tf.reshape(X_imgs, [-1, 28, 28, 1])
    tf_img1 = tf.image.flip_left_right(X)

    with tf.Session() as sess:
        sess.run(tf.global_variables_initializer())        
        for img_ind in range(input_d.shape[0]):
            img = input_d[img_ind].eval()
            flipped_imgs = sess.run([tf_img1], feed_dict={X: img})
            X_flip.extend(flipped_imgs)
    X_flip = np.array(X_flip, dtype = np.float32)
    return X_flip

flip = flip_images(X)

如果这能解决您的问题,请告诉我!可能希望将范围设置为一个小的常数以进行测试,如果您周围没有 GPU,这可能需要一段时间。

【讨论】:

  • 你能帮我在图像翻转后拼合图像吗?扁平化的占位符应该放在哪里?
  • 是的!你能澄清一下你的意思吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-01-04
  • 1970-01-01
  • 2018-08-04
  • 2017-10-29
  • 2020-02-26
  • 1970-01-01
  • 2023-01-22
相关资源
最近更新 更多