最近在配置服务器GPU的时候遇到了很多坑,大多都是tensorflow环境和Cuda版本以及keras的兼容性问题。恰好从一位大佬那里得知一种船新的使用方法,使用简便且方便管理,以此记录一下。感谢两位不愿意透露姓名的大佬的理论依据以及技术支持!
这个网上教程比比皆是,就不多做赘述了
使用
conda create -n your_env_name python=X.X(2.7、3.6)命令创建python版本为X.X、名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装目录envs文件下找到。 如: conda create -n poppy_leo_tf python==3.6
source activate poppy_leo_tf 可以看到本地的环境已由base切换成了我们创建的虚拟环境 poppy_leo_tf,python的版本也从默认的3.7变成3.6了
在你的虚拟环境中使用命令
conda install your_package即可安装package到your_env_name中 使用conda安装,会自动帮你安装相关的从属包以及cudnn的对应版本(血泪教训,cudnn版本和tf不兼容害得我跑了半个月的cpu),总之这个就是很好用,没问题啊。 如 conda install tensorflow-gpu==1.12.0 在虚拟环境中打开python,导入TensorFlow,没有问题 其他包的安装和这个同理
使用如下命令即可。
Linux: source deactivate
Windows: deactivate
使用命令conda remove -n your_env_name(虚拟环境名称) --all, 即可删除。
使用命令conda remove --name your_env_name package_name 即可。
环境装好后,到了我们最喜欢的跑代码环节了,但是每次都通过 Xftp软件上传下载修改再上传等等操作来管理代码实在是麻烦,不仅效率低下而且还不方便代码的版本管理。后面经高人指点发现pycharm可以直接连接服务器的python环境,属实给力。
话不多说,先抛链接。 pycharm专业版链接 下载后用校园企业邮箱注册可免费使用 注册链接:https://account.jetbrains.com/login 申请链接:https://www.jetbrains.com/zh/student/ 安装pycharm,登录的时候使用注册好的账户即可使用pycharm专业版
1、File->Settings:弹出Settings窗口,选择Add项,进行新建SSH Interpreter 2、点击“SSH Interpreter”栏,填写Host框和Username框信息,单击“Next”按钮 3、正确填写密码,单击“Next”按钮 4、在Interpreter框,选择之前用conda创建虚拟环境的Python虚拟环境,最后点击"Finish"按钮,完成设置。 选中之后apply,当前pycharm的project下的文件默认会自动上传到服务器的文件夹下,具体文件夹可在上图Sync folders里设置。
直接在本地的pycharm运行程序,进程在服务器上运行,看到那个显卡被占满,舒服了。
在安装keras_bert的时候,可能是conda的清华源镜像更新的比较慢,找不到我要的包。同时把pip的清华源链接直接抛给conda,会出现识别不了的错误。这个问题可以通过在pycharm的设置更改,添加清华大学的pip源:https://pypi.tuna.tsinghua.edu.cn/simple/
当数据量较大,运行时间较长时,直接跑命令,窗口或许异常终止,服务器的进程也会直接中断,不得不重新跑。 screen就很给力的解决了这个问题。 先来说说什么是screen。Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
例如:在一个终端里打开jupyter notebook后,如果要执行其他命令需重新打开一个终端 但用screen可以简化此操作,且任务不会随着与服务器的断开而终止 新建一个一个作业
screen -S notebook从外观上来看,就像重新打开了一个终端 打开服务器的 jupyter notebook
jupyter notebook --allow-root退出screen的作业时,有两种方式:
Crtl + a +d 保存进程并退出作业(程序在screen中继续运行,screen -ls 可查看) exit 退出作业和进程(程序终止,screen -ls 不可查看)使用第一种方式退出screen,进程仍在保存,方便继续作业