程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

PG-GAN 分类: ValueError: could not broadcast input array from shape (16,4,4,3) into shape (16)

发布于2019-08-22 16:45     阅读(2878)     评论(0)     点赞(24)     收藏(5)


Traceback (most recent call last):
  File "main.py", line 69, in <module>
    pggan.train()
  File "D:\我的文档\**.py", line 199, in train
    sess.run(opti_D, feed_dict={self.images: realbatch_array, self.z: sample_z})
  File "D:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\client\session.py", line 929, in run
    run_metadata_ptr)
  File "D:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\client\session.py", line 1121, in _run
    np_val = np.asarray(subfeed_val, dtype=subfeed_dtype)
  File "D:\ProgramData\Anaconda3\envs\tensorflow\lib\site-packages\numpy\core\numeric.py", line 538, in asarray
    return array(a, dtype, copy=False, order=order)
ValueError: could not broadcast input array from shape (16,4,4,3) into shape (16)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

很明显根据错误类型,报这种类型的错误,因为你输入数据的尺寸和网络需要的尺寸不一致,才会报错。
然后查看了self.images占位符以及自己图片的大小,很明显是一样的,都是(16,4,4,3),百思不得其解,最终又查看了一下自己写的nextBatch()函数,原始生成模型中只需要图片即可,因此nextBatch()只返回图片即可,但是分类问题中我的返回值多了标签。这时仍然使用如下输入到网络中简单测试生成网络就会出错,因为现在该句返回的是一个元组。

realbatch_array,_ = self.data_In.getNextBatch(batch_num,self.batch_size,resize_w = self.output_size)
  • 1

说的这,不得不吐槽一下自己基础不扎实了。。。。
这是python返回函数使用的一个问题,如下函数,若a,b = test(),则a=1,b=2。若a = test(),则a = (1,2)是一个元组,若a , _ = test()则可以返回a = 1。所以归根结底,ValueError: could not broadcast input array from shape (16,4,4,3) into shape (16)是因为输入数据与模型要求的输入不一样,我这里犯了这个错误,是因为python基础不扎实。

def test():
    return 1,2
  • 1
  • 2


所属网站分类: 技术文章 > 博客

作者:fggfg

链接:https://www.pythonheidong.com/blog/article/53007/9376b7c9db10b3e058e9/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)