Pytorch短期使用回顾

20 Jun 2017

最近一段时间我都是在零散的看看pytorch的文档,顺便开始把之前的训练的代码和方法往pytorch上迁移,一些新训练的任务我也都直接改用了pytorch。

一句话总结来看,pytorch依然和我第一眼看上的去的那样,还是一个很优美的框架。当然, 有小坑:我遇到的主要的问题是错误信息太缺少了,造成模型有错误的时候有点不太好定位。

这次的老训练系统的迁移对我来说很顺手,实际就用了两天不到,基本可用。当然,因为有一些老代码可以复制粘贴。但是相比mxnet,还是快了很多,mxnet的迁移磨蹭了一周还没有开始调试。可能还是我对这个pytorch的个人好感起了作用。如此看来,自己的框架要选择自己喜欢的,这样生产率会高很多,不喜欢的东西,边写边骂,效率确实不高。

Pytorch整体来看,还是小巧、灵活,文档组织良好,写代码也足够符合我的直觉。我想框架或者接口,符合用户直觉是一个非常重要的指标。否则对用户来说怎么用怎么别扭。tf虽然用户数多,不过对我来说不合直觉,可能还是自己不愿意花费精力建立起整个框架的概念,相信如果有了tf框架的概念,用起来也都是很顺手的。

所以说,我不愿意用tf,只是因为我懒。

另外,自己下一步的一些计划:

  1. 自己在考虑用网络训练利用视觉信息训练室内地图导航的模型,类似于word2vec,得到的某两个位置图像的特征向量可以通过类似word2vec的运算来实现方向的预测。目前来看符合直觉,只是留待实验验证。
  2. 需要一个pytorch的model转为caffemodel的工具,目前我看了下,市面上似乎只有caffemodel转pytorch的。

Pytorch的框架提供了比caffe更多的灵活性,所以未来我可能自己拿着pytorch训练各种模型来玩。

在一个月前,自己就因为pytorch相比caffe的灵活,在minst这个"著名"数据集上做了一些针对sgd训练超参的实验。使用过程还是很愉快的,所以,Pytorch大法好,我是坚决往坑里跳了。