如何使用numpy数组对Variable赋值?

本文详细介绍了在PaddlePaddle框架下,如何使用Fluid API为网络模型中的Variable参数赋值。通过示例代码,展示了如何利用fluid.global_scope().find_var找到对应变量,并使用get_tensor和set方法完成参数更新。
部署运行你感兴趣的模型镜像
  • 问题描述:
    我使用fluid构造了一个网络模型,如:
    conv1 = fluid.layers.conv2d(X, 64, 9,act=‘relu’, name=‘conv1’ ,
    param_attr= fluid.ParamAttr(name=‘conv1_w’))
    然后获取variable:
    conv1_w = fluid.get_var(‘conv1_w’)
    我希望使用numpy数组对这个参数进行赋值,要如何做呢?

我查到资料说,可以使用 paddle.parameters.Parameters.set 进行赋值。但是我使用fluid.get_var获取到的对象不是paddle.parameters.Parameters类型的,没有set方法…

  • 问题解答:

Fluid中,为Variable赋值的方法如下,主要逻辑就是fluid.global_scope().find_var()找到模型结构中对应节点,然后通过get_tensor()方法获得对应的tensor对象,接着就可以使用set()方法对其进行赋值

 embedding_param = fluid.global_scope().find_var( 
     embedding_name).get_tensor() 
 embedding_param.set( 
     load_parameter(conll05.get_embedding(), word_dict_len, word_dim), 
     place) 

具体细节请参考:https://github.com/PaddlePaddle/Paddle/blob/038e2817f0208f8de3761854700ff01fc5c28362/python/paddle/fluid/tests/book/test_label_semantic_roles.py#L178-L182

您可能感兴趣的与本文相关的镜像

PaddlePaddle-v3.3

PaddlePaddle-v3.3

PaddlePaddle

PaddlePaddle是由百度自主研发的深度学习平台,自 2016 年开源以来已广泛应用于工业界。作为一个全面的深度学习生态系统,它提供了核心框架、模型库、开发工具包等完整解决方案。目前已服务超过 2185 万开发者,67 万企业,产生了 110 万个模型

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值