AttributeError: can't set attribute 问题

新手一枚,有个问题想请教大家,运行 GitHub 上的 python 代码时遇到错误提示:AttributeError: can’t set attribute,该如何解决?


蒲哥哥 2018-4-14 16:07:16

能否提供一下如何重现的步骤呢?如何安装等等。


舟 3332 发表于 2018-4-15 21:08:36

刚才特意找到源码看了以下:

你把 W, H, C = (x.value for x in input_data.get_shape ()[-3:]) 这条语句改成下面的试试看:
W, H, C = [x.value for x in input_data.get_shape ()[-3:]] 或者
W, H, C = [x for x in input_data.get_shape ().as_list ()[-3:]]


libertatis 发表于 2018-4-16 09:05:53

蒲哥哥:
我改了之后还是不对,报错也和原来的一样啊!
2018-4-16 09:49

libertatis: 回复 蒲哥哥 :
难道是因为 input_shape 没有 setter 方法?要不你给 input_shape 属性加一下 getter 和 setter 方法试试?把下面的代码加一下试试看呀?

@property
def input_shape (self):
        return self._input_shape

@input_shape.setter
def input_shape (self, value):
        self._input_shape = value

PS:本来我想自己跑一下试试的,但是模型数据文件太大,还要翻墙,我就放弃了。
2018-4-16 17:59

蒲哥哥: 回复 libertatis :
谢谢啦!代码已经可以跑了,就是 input_shape 那里的问题,把它对应的地方改了个名字就可以了
2018-4-16 21:49

石彦坤: 回复 蒲哥哥 :
您好,请问您是怎么改的呀?我遇到了一样的问题
2019-12-5 15:20


2018-4-16 09:49

复现的步骤在这个网站:https://github.com/sjoerdvansteenkiste/Neural-EM,具体步骤在里面的 README.md,请你帮我看看是哪里出错了~


蒲哥哥 发表于 2018-4-16 09:48:24

if not isinstance (input_shape, tf.TensorShape):
            input_shape = tf.TensorShape (input_shape)
self.input_shape = input_shape

这里的问题吧,input_shape 没有属性


hfu 发表于 2018-4-16 09:58:57

嗯,应该是这里的问题,但该怎么改呢?


蒲哥哥 2018-4-16 11:44

看了一下这个项目和你跑的这个例子,应该是你的数据集不对,你看看是不是下载了 shapes.h5?具体的你看看 datasets.py。


hfu 发表于 2018-4-16 15:07:28

谢谢~问题解决了,数据集没有问题,就是 input_shape 那里出问题了


蒲哥哥 2018-4-16 21:51