【问题标题】:Python / Tensorflow / Numpy setting an array element with a sequence errorPython / Tensorflow / Numpy 设置具有序列错误的数组元素
【发布时间】:2017-01-04 21:07:22
【问题描述】:

我正在尝试使用此处找到的生成对抗网络: https://github.com/carpedm20/DCGAN-tensorflow 我已经安装了所有 prereqs 并下载了代码,但我遇到了一个错误,我不确定它来自哪里。使用任何图像集运行 main.py 后,我收到以下错误:

ValueError: setting an array element with a sequence

它提到的那一行,model.py的第153行,如下:

sample_images = np.array(sample).astype(np.float32)

'sample_images' 似乎设置为 tensorflow 占位符,基于 model.py 的第 75 和 76 行:

self.sample_images= tf.placeholder(tf.float32, [self.sample_size] + [self.output_size, self.output_size, self.c_dim],
                                    name='sample_images')

一些谷歌搜索导致我使用类似“feed_dict”的东西,但是一些实验没有奏效。此外,feed_dict 稍后会在代码中使用,例如第 187 行:

feed_dict={ self.images: batch_images, self.z: batch_z, self.y:batch_labels })

我不确定这是 Python、Tensorflow、Numpy 还是其他导致错误的东西,所以我真的不知道从哪里开始。帮助表示赞赏。

作为参考,我在 Windows 7 上运行 Python 3.5 64 位

谢谢

内森

更新:花了太长时间试图解决这个问题后,我最终启动了一个 Ubuntu 虚拟机,安装了 Python 和 Tensorflow,整个事情运行顺利。不是原始问题的完全答案,但绝对是一种解决方法。

【问题讨论】:

    标签: python numpy tensorflow neural-network


    【解决方案1】:

    我没有tensorflow,所以不能直接帮助你。但我可以用类似的东西制造你的错误

    创建一个包含各种大小列表的 dtype 对象数组:

    In [343]: x=np.array([3, [1,2], [1,2,3]],dtype=object)
    In [344]: x
    Out[344]: array([3, [1, 2], [1, 2, 3]], dtype=object)
    In [345]: x.astype(np.float32)
    ...
    ValueError: setting an array element with a sequence.
    

    如果一个或多个元素是一个数组,这同样适用,我想一个 tensorflow 对象,如果可迭代(作为序列),会产生相同的错误。

    所以 - 检查sample_imagesdtype,并确定元素的类型。还要检查tensorflow 有自己的方法将其对象转换为浮点数组。不要假设numpy 函数和方法直接作用于tensorflow 对象。

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 2015-11-18
      • 1970-01-01
      • 2018-04-09
      • 2018-11-10
      • 2023-03-16
      • 2017-10-20
      • 2020-08-21
      • 1970-01-01
      相关资源
      最近更新 更多