首页 Paddle框架 帖子详情
静态图模式下如何将numpy数组传入层以作为常量使用?
收藏
快速回复
Paddle框架 问答深度学习 730 4
静态图模式下如何将numpy数组传入层以作为常量使用?
收藏
快速回复
Paddle框架 问答深度学习 730 4

Hi,我在使用静态图模式时,需要向主程序传入一个常量以供使用,在静态图模式下如何实现传入一个常量呢?
我试过使用Tensor中的set()方法,但是在进行矩阵乘法的时候报错:

  • File "/home/ddj2/PycharmProjects/image_classification_tax/build_model.py", line 69, in _tax_model
  • p = fluid.layers.matmul(mask, base_result_sf, transpose_x=False, transpose_y=True)
    
  • File "/home/ddj2/.conda/envs/paddle/lib/python3.7/site-packages/paddle/fluid/layers/nn.py", line 6777, in matmul
  • __check_input(x, y)
    
  • File "/home/ddj2/.conda/envs/paddle/lib/python3.7/site-packages/paddle/fluid/layers/nn.py", line 6752, in __check_input
  • x_shape = list(x.shape)
    
  • TypeError: 'method' object is not iterable
    我只是想传入一个数组常量以和算出来的loss进行乘法计算
0
收藏
回复
全部评论(4)
时间顺序
AIStudio791597
#2 回复于2019-10

可以试下 fill_constant

0
回复
AIStudio792073
#3 回复于2019-10

可以试下 fill_constant

你好,fill_constant只能传入一个都是同样数字的数组,但是我想传一个我自己的numpy数组,这种情况应该怎么办呢?

0
回复
AIStudio783558
#4 回复于2019-10

可以试下 fill_constant

你好,fill_constant只能传入一个都是同样数字的数组,但是我想传一个我自己的numpy数组,这种情况应该怎么办呢?

试试这个呢?

param_name = fluid.layers.assign(np.array([1,2,3,4,5], dtype=np.int32))
0
回复
AIStudio792073
#5 回复于2019-10

可以试下 fill_constant

你好,fill_constant只能传入一个都是同样数字的数组,但是我想传一个我自己的numpy数组,这种情况应该怎么办呢?

试试这个呢?

param_name = fluid.layers.assign(np.array([1,2,3,4,5], dtype=np.int32))

你好,不好意思之前是我没弄清楚,这个方法是可以的,谢谢!

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户