fluid 如何获取特定层的参数
问题描述:在训练好一个模型之后,想打印模型的参数类似TF里面,w = session.run([fc1.W])
然后直接获取到了第一层FClayer的W矩阵,fluid有类似的接口吗?报错输出:
Traceback (most recent call last):File "test.py", line 12, in <module>ret = scope.find_var("target_fc").get_tensor()
AttributeError: 'NoneType' object has no attribute 'get_tensor'
- 问题复现:
import paddle.fluid as fluid
from paddle.fluid.param_attr import ParamAttr
x = fluid.layers.data(name='x', shape=[5], dtype='float32'),
param_attr = ParamAttr(name='target_fc')
bias_attr = ParamAttr(name='target_fc_b')
fc1 = fluid.layers.fc(input=x, size=128, act='relu', param_attr=param_attr, bias_attr=bias_attr)
scope = fluid.executor.global_scope()# get tensor
ret = scope.find_var("target_fc").get_tensor()
print(ret)
place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())
- 问题分析:
在PaddlePaddle中,program程序没有运行是,数据是不会进行初始化的,所以要将获得数据的操作diam放在运行逻辑之后,具体而言就是将ret = scope.find_var("target_fc").get_tensor()
移动到exe.run(fluid.default_startup_program())
之后
- 解决方法:
import paddle.fluid as fluid
from paddle.fluid.param_attr import ParamAttr
x = fluid.layers.data(name='x', shape=[5], dtype='float32'),
param_attr = ParamAttr(name='target_fc')
bias_attr = ParamAttr(name='target_fc_b')
fc1 = fluid.layers.fc(input=x, size=128, act='relu', param_attr=param_attr, bias_attr=bias_attr)# get tensor
place = fluid.CPUPlace()
exe = fluid.Executor(place)
exe.run(fluid.default_startup_program())
ret = fluid.global_scope().find_var("target_fc").get_tensor()
import numpy as np
ret = np.array(ret)
print (ret.shape)
print(ret)
fluid 如何获取特定层的参数相关推荐
- 『PyTorch』第十一弹_torch.optim优化器 每层定制参数
一.简化前馈网络LeNet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 im ...
- 由laravel 5.5无法获取url中的参数引发的apache的.htaccess文件问题
一.前言 我这边碰到的问题就是,无法获取url中的get参数.本地使用的是laravel 5.5版本.明明url里面清清楚楚的写着参数,但是你却获取不到,这感觉实在是很气很气.刚开始以为是larave ...
- post multipart/form-data 类型表单如何获取File外其他参数
参考资料: post multipart/form-data 类型表单如何获取File外 其他参数:https://www.douban.com/note/536231506/ multipart/f ...
- php获取昨日时间段内,PHP 获取 特定时间范围 类
1 <?php2 /**3 * Created by PhpStorm.4 * Author: 林冠宏5 * Date: 2016/6/46 * Time: 16:067 *8 * 前序:9 * ...
- map中获取数组_如何从php多维数组中获取特定的键值?
点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网 源 / www.php.cn 在这篇文章中,我们将给大家介绍如何在php中从多维数组中获取特定的键值数组.这里我们将使用a ...
- mysql geocode_百度地图Geocoding API获取特定地区或地址的经纬度信息,然后在MySql数据库多表循环遍历更新...
1.数据库多表循环更新的思想在这个链接上,标题是"MySql多表循环遍历更新", 链接地址http://www.cnblogs.com/litao4047/archive/2013 ...
- java 正则表达式匹配冒号_java 获取冒号后面的参数(正则)实现代码
我就废话不多说了,大家还是直接看代码吧~ String regEx=":[\S]+"; String sql=" select * from a where id=:id ...
- C#获取特定进程CPU和内存使用率
C#获取特定进程CPU和内存使用率 首先是获取特定进程对象,可以使用Process.GetProcesses()方法来获取系统中运行的所有进程,或者使用Process.GetCurrentProces ...
- java中正则获取冒号之后_java 获取冒号后面的参数(正则)实现代码
java 获取冒号后面的参数(正则)实现代码 我就废话不多说了,大家还是直接看代码吧~ String regEx=":[\\S]+"; String sql=" sele ...
最新文章
- python嵩天课后思考题_Python语言程序设计基础(第二版)嵩天等课后习题答案
- net core 使用 rabbitmq
- 打工皇帝杨元庆年薪达2136万美元 联想称很合理
- 二分图匹配的匈牙利算法
- python的优点和缺点-python的优点和缺点是什么?
- 数据结构上机测试1:顺序表的应用
- Android开发学习之路-Git的极简教程?
- Java中的数据库架构导航
- [问题解决] LaTex Error:Unknown graphics extension:.eps
- oracle并行和并发,Oracle 并发查询
- 计算机指纹驱动程序,解决方法:联想笔记本指纹识别驱动程序安装教程[详细]...
- 计算机键盘上删除,电脑键盘删除键是哪一个
- win10专业版占多少空间_Win10系统
- oracle建索引时报ora00955 名称已由现有对象使用,“ORA-00955: 名称已由现有对象使用” 这个错误是怎么回事?...
- 金山词霸每日一句开放平台 .NET demo
- macbook air适合学java,神舟7月9日发轻薄笔记本新品 比MacBook Air还要薄?
- ubuntu壁纸自动切换
- 新闻发布管理系统/新闻网站
- 单词倒排 与 IP整数转换
- Webpack——ES6转ES5
热门文章
- 51nod-1113 矩阵快速幂
- gazebo的bumper使用
- apM Coin与Block72达成战略合作携手加速全球扩张
- Unity内存管理的原理
- 计算机如何安装程序,怎么禁止电脑安装任何软件?禁止计算机安装程序的方法(图文)...
- NOI openjudge 计算2的N次方
- 青少年python一级考试试题,青少年python一级考试
- C语言笔记 · 输出函数(printf(),putchar(),puts())
- App自动化测试之Java平台下使用Appium测试App(一)
- 电脑开机显示自动修复失败无法进入系统的解决方法