首页 Paddle框架 帖子详情
Fluid1.2.0 就房价预测例子的相关问题
收藏
快速回复
Paddle框架 问答深度学习模型训练 6228 22
Fluid1.2.0 就房价预测例子的相关问题
收藏
快速回复
Paddle框架 问答深度学习模型训练 6228 22

没有深度学习经验,没有python经验,但也想硬啃paddle这本圣经。

在跟随学习paddle fluid1.2.0版本的过程中,我从线性回归(房价预测)代码片段里,有一部分还无法理解,请填过坑的前辈为我指指路

 

代码以 https://github.com/PaddlePaddle/book/blob/develop/01.fit_a_line/train.py 中的为准

 

1.在代码38行出现了shuffle和batch两个方法。

我能明白shuffle是每到buf数量打乱一次返回一个reader。就本数据集,总共是506行数据,那么shuffle会是 1个500个数据和1个6个数据 2个reader
还是只会有1个500个数据的reader

batch吃到数据集后,会以每batch_size个数据为一批数据,是否可以认为本案例中,batch对象中有25批数据?

 

 

2.第50行初始化了2个program。一个是主程序、一个是启动程序,

因为exe这个Executor在72行run了启动程序,而在82行又用主程序run了。这两者是否缺一不可?各自run了之后有什么意义?

 

3.第56行 创建了一个随机梯度下降优化器,但是没有任何地方显式的去让执行器使用这个优化器。
请问是正常的嘛,是不需要指定,自动应用在执行器上的吗?

 

4代码第109行 在存储模型的时候,传入的第二个参数是所谓的输入层,这里的x是字符串吧?是代表第46行所注册的名为x的输入层吗。为什么要用[],是考虑可能有多个输入层输入的情况吗?

 

5.代码第113行 fluid.core.scope() 是做什么用的?看文档只有一个fluid.scope,并没有找到core的scope。
fluid.scope说要想运行一个网络,需要指明它运行所在的域。但是我从代码上也只看到了他声明了个对象,并没有指明所谓的域?

这里也没有显式表明scope的用途。所以没明白用途。

 

 

6.116行 with fluid.scope_guard(inference_scope): 代表的是什么意义? 因为没理解scope

修改全局/默认作用域(scope), 运行时中的所有变量都将分配给新的scope。

这里的变量指的是啥?? 是因为训练完就跑的推理,所以这里变量指的是缓存里的模型吗???

 

 

7.121行 因为数据集test()应该也是506个(没确认过),那此时这个batch如果batch_size是10的话,应该有50批数据(最后一组不满10个不用)还是51批数据呢(最后一批不满10个)

 


8.第81行,这个reader只会返回20条数据吗?还是会把25批数据都for出来。我通过打印检查step发现是20次过一个epoch的,所以结论更像前者,但是还是确认一下。如果是真的只返回20条,那为何要用for in? 这样是为了batch提取的是随机的一批吗?

 

0
收藏
回复
全部评论(22)
时间顺序
秘密花园jay
#22 回复于2019-01

房价也能预测 是不是很复杂

0
回复
goJhou
#23 回复于2019-01
房价也能预测 是不是很复杂

还行吧。入门教程

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