Python 属性错误:';numpy.ndarray和#x27;对象没有属性';得到u形';?

Python 属性错误:';numpy.ndarray和#x27;对象没有属性';得到u形';?,python,python-3.x,numpy,google-colaboratory,numpy-ndarray,Python,Python 3.x,Numpy,Google Colaboratory,Numpy Ndarray,当我在本地运行初学者.ipynb时,执行在 predictions = model(x_train[:1]).numpy() 出现以下错误: AttributeError回溯(最近一次调用) 在里面 ---->1预测=模型(x_列车[:1])。numpy() 2#打印(类型(预测)) 3#预测=tf.将#转换为#张量(模型(x#列[:1])) 4预测 5. C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\keras\e

当我在本地运行
初学者.ipynb
时,执行在

predictions = model(x_train[:1]).numpy()
出现以下错误:


AttributeError回溯(最近一次调用)
在里面
---->1预测=模型(x_列车[:1])。numpy()
2#打印(类型(预测))
3#预测=tf.将#转换为#张量(模型(x#列[:1]))
4预测
5.
C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\keras\engine\base\u layer.py in\uuuuu调用(self、input、*args、**kwargs)
590其他:
591#数据张量的急切执行。
-->592输出=自调用(输入,*args,**kwargs)
593自我处理、活动、规范化(输入、输出)
594返回输出
调用中的C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\keras\engine\sequential.py(self、输入、培训、掩码)
228 def呼叫(自我、输入、培训=无、掩码=无):
229如果self.\u是图\u网络:
-->230返回超级(顺序,自)。调用(输入,训练=训练,掩码=掩码)
231
232输出,u=self._调用_和_计算_掩码(
C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\keras\engine\network.py in call(self、inputs、training、mask)
813输出,自运行内部图形(输入,
814培训=培训,
-->815面罩=面罩)
816返回输出
817
C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\keras\engine\network.py in\u run\u internal\u图(self、input、training、mask)
1000输出张量=层(计算张量,**kwargs)
1001其他:
->1002输出张量=层调用(计算张量,**kwargs)
1003如果hasattr(图层“计算掩码”):
1004输出屏蔽=层。计算屏蔽(计算张量,
C:\ProgramData\Anaconda3\lib\site packages\tensorflow\python\keras\layers\core.py in call(self,inputs)
553阵列(操作形状(输入)[0],-1))
554如果不是上下文。急切地执行_():
-->555 outputs.set_shape(self.compute_output_shape(inputs.get_shape()))
556返回输出
557
AttributeError:'numpy.ndarray'对象没有属性'get_shape'
我发现了一个类似的问题,但无法应用建议的修复


我应该如何使代码工作?为什么相同的代码在collab上运行良好,但在我的本地计算机上失败了?

OP提到的答案是使用
tensorflow2
。 虽然无法找到此问题的根本原因,但它似乎是由
tensorflow1.x
中不支持的功能造成的


请参阅1.x vs 2.x

更新完整代码和错误跟踪,如果possible@AzyCrw4282好了!该错误消息清楚地表明您没有运行
predictions=model(x\u train[:1]).numpy()
。您做了大量更改,我们无法看到完整的范围。@user2357112支持Monica,抱歉,忘记更新。我只是在尝试各种改变。但原来的代码不起作用,显然问题在于使用了错误的tensorflow版本。确保已安装tensorflow2。
AttributeError                            Traceback (most recent call last)

<ipython-input-15-6d3178b039b4> in <module>
----> 1 predictions = model(x_train[:1]).numpy()
      2 # print( type( predictions ) )
      3 # predictions = tf.convert_to_tensor( model(x_train[:1]) )
      4 predictions
      5 

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\base_layer.py in __call__(self, inputs, *args, **kwargs)
    590       else:
    591         # Eager execution on data tensors.
--> 592         outputs = self.call(inputs, *args, **kwargs)
    593         self._handle_activity_regularization(inputs, outputs)
    594         return outputs

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\sequential.py in call(self, inputs, training, mask)
    228   def call(self, inputs, training=None, mask=None):
    229     if self._is_graph_network:
--> 230       return super(Sequential, self).call(inputs, training=training, mask=mask)
    231 
    232     outputs, _ = self._call_and_compute_mask(

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\network.py in call(self, inputs, training, mask)
    813     outputs, _ = self._run_internal_graph(inputs,
    814                                           training=training,
--> 815                                           mask=masks)
    816     return outputs
    817 

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\engine\network.py in _run_internal_graph(self, inputs, training, mask)
   1000                   output_tensors = layer(computed_tensor, **kwargs)
   1001                 else:
-> 1002                   output_tensors = layer.call(computed_tensor, **kwargs)
   1003                 if hasattr(layer, 'compute_mask'):
   1004                   output_masks = layer.compute_mask(computed_tensor,

C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\keras\layers\core.py in call(self, inputs)
    553                  array_ops.shape(inputs)[0], -1))
    554     if not context.executing_eagerly():
--> 555       outputs.set_shape(self.compute_output_shape(inputs.get_shape()))
    556     return outputs
    557 

AttributeError: 'numpy.ndarray' object has no attribute 'get_shape'