Fortran Coder

查看: 19315|回复: 3
打印 上一主题 下一主题

[原创] Fortran 实现一阶自动微分

[复制链接]

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
楼主
发表于 2021-6-3 17:27:40 | 显示全部楼层
这是个很蛋疼的事情……
我干过,比你这个更蛋疼的
用矩阵的形式表达偏导数,也就是说数据类型可以自定义有任何多个自变量的求一阶偏导,
支持单精度和双精度的求导,类型支持和单精度,双精度以及整型的混合运算
我干完这个之后看到神经网络里的反向自动微分,然后就把自己写的东西扔进了垃圾堆
主要是像在Fortran里实现NN里这种,用流程图实现的反向自动微分基本不可能,先天劣势太大了……
而实际大量的使用过程中,没有反向自动微分,太容易中间量爆炸了,内存和算力都HOLD不住

178

帖子

15

主题

0

精华

大宗师

F 币
4973 元
贡献
1152 点
沙发
发表于 2021-6-3 17:30:47 | 显示全部楼层
liudy02 发表于 2021-6-3 17:27
这是个很蛋疼的事情……
我干过,比你这个更蛋疼的
用矩阵的形式表达偏导数,也就是说数据类型可以自定义有 ...

另外,想实现高阶导数对Fortran也还得自己一阶一阶定义
用python等语言中人家做好的AI库里的自动微分功能他不香么……
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-7 04:08

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表