GitHub作为远程仓库已经是基本操作了,具体的使用方法也是老生常谈了。然而,github虽然好用,有时候也会有一些不方便的时候。比如,实验室的实验代码或者项目代码,没有公开发布的时候,肯定不方便放到github上面管理,那么,使用服务器搭建一个远程的git仓库就十分有必要了。
Pytorch踩坑
前几天用Pytorch实现one-step的Actor-Critic算法的时候,遇到了坑,这里记录一下。
因为看的几版pytorch实现的Actor-Critic,代码风格都不是很符合个人习惯。因此,参照莫凡的tensorflow版Actor-Critic的网络结构,自己动手实现了一版Actor-Critci算法的demo。
具体的算法参考的是强化学习神作,Sutton的Rienforcement Learning: An Introduction 2nd中的第13章中的one-step Actor-Critic算法的伪代码。
为了和tensorflow版的代码进行对比,我把pytorch版本的网络结构设置的和tensorflow版本的结构一样,然后,对于网络参数的初始化,使用了相同的分布初始化权重,设置了相同的偏置。同时,包括学习速率$\alpha$和折扣因子$\gamma$的设置也保持一致。但是,最后两个模型的性能却差距巨大。
经过反复的检查以及向同学请教了关于tensorflow的一些知识(笔者对于tensorflow实在是不熟悉)之后,终于找到了两个导致这一诡异现象的BUG。