Fluid版本如何自定义模型权重?

原创
2019/03/07 10:50
阅读数 187
  • 问题描述:Fluid版本的PaddlePaddle如何自定义模型的权重?想要实现:x = MW + b,其中M是一个m * n的矩阵数据,W(n * 1)、b (m * 1)是自定义的权重。

  • 问题分析:

在Fluid版本中自定义权重可以通过fluid.param_attr.ParamAttr()方法的initializer参数实现,本地就是将自定义的值赋值给该节点,实现自定义模型权重的目的。

  • 解决方法:

自定义权重的实例代码如下:

import paddle.fluid as fluid
import paddle
import numpy as np

def test_initializer(self):
    def initializer(name):
        assert name == 'fc.w'
        mat =  np.ones((3,2), dtype=np.float32)
        mat[1,1] = 2
        return mat

    x = fluid.layers.data(name='x', dtype='float32')
    y = fluid.layers.fc(input=x, size=2, param_attr=fluid.param_attr.ParamAttr(
        name='fc.w', initializer=initializer
    ))

本文分享 CSDN - 飞桨PaddlePaddle。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部