2018-07-05

1. pytorch自定义layer,离奇的出现无法进入backward的情况,一行行注释发现去掉赋值语句就可以了,maybe bug?

2. backward就是反着来,前向有循环的话,注意梯度就传到当前位置,一个梯度就负责一个位置

3. 能通过数值梯度测试(记得换成double类型的tensor,不然精度不够)还不够,记得在一些小数据集测试能train下去,比如mnist cifar

4. 尽量不要循环;能用内建函数就不要用循环,比如有tf.stack展开tensor就不要用循环加index slice,性能还是千差万别的,循环写很容易爆显存的;万不得已用循环也要batch话,不要额外batch一个循环;用循环的话也要测试一下for while,指不定效果就不一样

5. 没有BN要注意variable初始化,初始化不好的话很难train下去

6. pytorch好debug,TF tensorboard很容易查看每个batch memory/time的使用情况,graph也容易看到有没有多余的op

7. docker本身有个IP,与宿主的IP不同,ssh scp都是连的宿主的IP,密码验证要么手动输入,要么用公钥私钥

你可能感兴趣的:(2018-07-05)