才疏学浅,如果您发现错误,肯请指正。
1、数据:
1.1、静态图:[input,label]
1.2、动态图:[input],[label]
2、网络:
2.1、静态图
2.1.1、定义张量:定义单个输入数据和标签的数据结构。
2.1.2、定义网络:调用不同的“paddle.fluid.layers.具体层”,设置损失函数、优化函数组成网络,各层输出输入对应关系、参数由系统自动计算。
2.2、动态图
2.2.1、以自定义类形式定义网络:定义继承fluid.dygraph.Layer的自定义类,一、在类的初始化过程中按需要调用的顺序调用“paddle.fluid.dygraph.nn.具体层”定义自定义类的具体层,需要自动更新参数的层,层名前带“self.”定义成自定义类的层。层间的输出输入数据关系需要手工计算。二、定义前向传播,按初始化中定义的层的顺序执行各层。需要注意调整数据结构。
3、训练
3.1、静态图
paddle.fluid.Executor执行网络,run参数说明:feed为一批次数据[input,label],fetch_list为要返回的数据。
2.2、动态图
设置损失函数、按批输入数据[input],[label](需要使用fluid.dygraph.to_variable将数据转为Variable 类型的对象),计算损失,反射传播参数,优化参数进行运算。
印刷数字识别-静态图版:https://aistudio.baidu.com/aistudio/projectdetail/732514
印刷数字识别-动态图版:https://aistudio.baidu.com/aistudio/projectdetail/733688
数据集:https://aistudio.baidu.com/aistudio/datasetdetail/49817
才疏学浅,如果您发现错误,肯请指正。
最近照着代码库检查自己的动态图代码,还是得动静都门儿清才好啊
还是觉得动态图好用,静态图没法实时查看参数,出了错误就得自己写代码调试,不像动态图可以单步执行看结果
开始觉得动态图静态图很不一样,但后来代码看多了,包括其他框架,发现结构大同小异,没用过的框架一样可以照着api文档当伪代码读
我以前也搞不清楚动态图和静态图的区别,其实现在还有点乱
嗯,你说的没错。我是刚开始学的Paddlepaddle,首先用的就是动态图,后来想把它转为Paddle.js使用,才学了静态图,好乱呀。还是动态图,方便一些,结构也清晰一些。
乱,所以要理顺来。可以交流交流你是怎么整理的。
嗯,结构化后都差不多,但用的函数不同,问题也不同。官方没有明确说明呀。学得好累。
写的很不错啊
谢谢夸奖
现在tf的风头都被torch抢去了,命令式编程得人心吧
以后大家用 Paddle 发的论文,让他们去复现效果吧~~
棒
又碰到你了
谢谢支持
谢谢夸奖
有缘人,约一下?
打扰了hhh
欢迎打扰。
这是已经进入大佬的状态啊……
主要是蒙圈的厉害~~只能不求甚解了