一般工作环境一般来说,笔者的代码是运行在服务器上的,服务器上具有多块显卡作为主要计算环境,服务器具有外网独立IP,就笔者的为例,是运行的Ubuntu 16.04系统,目前而言,Ubuntu等基于Linux内核的对于深度学习周边框架的支持比较好,建议大家使用Ubuntu作为主要开发环境(可以是远程的计算环境,本地编辑代码等可以采用对用户较为友好的windows)。
代码编辑器类
- vim,在服务器上在线修改一些代码或者配置文件的时候使用,快捷键多,可以用的插件海量,可定制性极强。
- vimplus,使用vim的话一般需要自己去下载安装些自动补全等功能的插件,这个插件集合可以满足日常的应用,并且一键安装,非常方便。网址见:https://github.com/chxuan/vimpl
- usvs code,在本地上编辑代码后,通过sftp等远程工具上传到服务器上,目前的主流开发方式,简单方便,一般来说配合插件sftp和remote-fs就足够了。
- pycharm,和vs code一样可以使用远程解释器并且上传代码到服务器上,但是其体量比较大,对电脑要求比较高。
深度学习框架类
- anaconda,目前python下最为流行的科学计算包,内涵了基本上所有科学计算所需要的包,同时有conda这个环境管理器,非常方便。
- tensorflow,可以通过conda安装,目前主流的深度学习框架。pytorch,可以通过conda安装,目前主流深度学习框架。
- keras,可以通过conda安装,目前主流深度学习框架。
- scikit-learn,流行的机器学习包,内含了很多传统机器学习的包,包括svm,线性回归,决策树等。
- scikit-video,scikit-image,常用的图像视频处理库。
- scipy,常用的科学计算库。
- 杂类xshell,用于远程ssh连接服务器。
- xftp,用于远程的sftp和ftp连接服务器,方便直观。
文档书写类
- typora,可见即可得的markdown书写编辑器和解释器,功能比较完善。
- texlive,流行的latex发行版。
- texstudio,流行的latex编辑器。