题外话
讲下博主为啥选择 AutoDL,其实最开始的时候,博主有一台2070和3080Ti,但是 显存都略小,一个8G一个12G,对于稍微大点的模型,Batchsize都很小,复现论文效果很都难,特别是在自己小论文需要的时候,就真的很缺设备。没办法,老师没钱,自己也买不起,只能将目光转移至云服务,对比了阿里云、腾讯云、百度云、华为云等,价格都贵的离谱,一小时动辄20+,一天下来就400+了,太贵太贵,一篇论文下来,都可以买两台显卡了。此外还有Colab 等云服务,不过没怎么体验过。当然了,如果小伙伴们用的是Paddle的话,必须推荐百度的 Ai Studio,可以免费试用,而且Paddle的架构和Pytorch的大体一致,学习起来也快,还是很推荐的。
最后就是AutoDL,虽然之前听说过,但是没使用过,好在,在我困惑的时候,同组的一个小伙伴给我推荐了一次,然后就马上注册体验了下,价格是真的便宜,就拿3090来说,一小时才1.5左右,一天下来也才40左右,比其他云顺眼多了,特别是学生党,简直就是我们的福星。而且上面有专门的教程,一般的问题都可以查到,而且使用也是方便的,本身提供20G的系统盘,可以用来放代码相关的数据,数据盘有50G,一般的数据集都是够用的,环境而是安装好的,可以直接上手用。

点击链接注册体验 https://www.autodl.com/ ,新人还有10元的体验券

1、解压数据集

博主用的数据集是 COCO2017,在AutoDL中的路径是 /root/autodl-pub/COCO2017 ,系统盘只有20G,如果将数据集解压到系统盘的话,很可能会报错 disk quota exceeded(超出磁盘配额)。因此,我们将数据集解压至AutoDL提供的 数据盘 /root/autodl-tmp

AutoDL本身收集了常见的数据集,在/root/autodl-pub/路径下,而且不算在数据盘空间

cd /root/autodl-pub
unzip -d /root/autodl-tmp/  ann*.zip
unzip -d /root/autodl-tmp/  val*.zip
unzip -d /root/autodl-tmp/  test*.zip
unzip -d /root/autodl-tmp/  train*.zip
#1、把文件解压到当前目录下
unzip test.zip#2、如果要把文件解压到指定的目录下,需要用到-d参数。
unzip -d /temp test.zip#3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数
unzip -n test.zip
unzip -n -d /temp test.zip#4、只看一下zip压缩包中包含哪些文件,不进行解压缩
unzip -l test.zip#5、查看显示的文件列表还包含压缩比率
unzip -v test.zip#6、检查zip文件是否损坏
unzip -t test.zip#7、将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件
unzip -o test.zip -d /tmp/

2、压缩文件夹

AutoDL虽然提供了上传下载的功能,但是下载只对单个的文件有效,对于文件夹则是无法使用,因此,就需要对文件夹进行压缩后,在下载到本地了

  1. 使用zip打包文件夹,代码为
zip -r -q -o pack.zip mark/

上面命令将目录 mark/ 下的所有文件,打包成一个压缩文件,并查看了打包后文件的大小和类型。第一行命令中,
-r 参数表示递归打包包含子目录的全部内容,
-q 参数表示为安静模式,即不向屏幕输出信息,
-o,表示输出文件,需在其后紧跟打包输出文件名。

  1. 使用【-e】参数可以创建加密压缩包,代码为
zip -r -e o pack.zip mark/

接着输入两次密码就可以了

2、配置conda 环境

AutoDL配有Miniconda,并且使用显卡运行情况下,Miniconda是调用CUDA版本的Pytorch,大家不需要单独安装,毕竟安装期间也是收费的。

AutoDL 默认情况下是没有创建环境的,需要我们单独创建自己的环境,但是!创建完环境之后,并不能直接使用,如果直接进入环境的话,则会出现如下的错误


这个错误是因为我们没有初始化 conda 所造成的,首先我们需要通过 echo $SHELL 命令查看,系统默认的 shell 是哪个,然后再通过 conda init bash && source /root/.bashrc 命令进行初始化 conda ,初始化完之后,会给出一些AutoDL 的系统信息,到此即可

# 查看系统所使用的 shell
echo $SHELL# 初始化 conda
conda init bash && source /root/.bashrc

然后就可以自行安装一些自己所需要的库了。AutoDL 已经帮忙安装好好 对应版本的Pytorch、torchvision等库了,无需重复安装

3、监控显卡信息

在win系统上面,博主一般是直接查看「任务管理器里面的性能」,进行对GPU信息的查看。但是任务管理器里面只能对GPU的内存、温度、占用率等信息监视,不能够详细。且此方法只能够在win系统上面使用,Linux上面无法使用。

那么在Linux系统上面个人是比较推荐使用 nivtop 库的,可以通过 pip install nvitop 直接进行安装,安装完之后在 终端输入 nvitip 即可,下图是监视界面。

nvitop 不仅可以在 Linux系统上面使用,也可以在 win系统上面使用,使用方法一样

除了使用nvitop 还可以使用 nvida-smi 命令进行查看

nvidia-smi:查看当前的显卡使用
nvidia-smi -L:列出所有显卡的信息
nvidia-smi -l 2:动态显示显卡使用信息,每一秒更新一次,参数值可以自己修改
nvida-smi -lms:循环动态显示
nvidia-smi dmon:设备监视(device monitor)
nvidia-smi -i n:显示指定的显卡(如果你有多块显卡,n的值对应显卡的位置)

通过 nvidia-smi -l 2 命令实时显示时,会在终端不断输出监控信息,个人觉得不如 nvitop 等价清晰简约

4、Tensorboard 监控

AutoDL 提供 tensorboard 监控,只是需要将日志信息放置在 /root/tf-logs 否则无法调取 tensorboard

cp -r ./runs/Nov22-16-54\ resnet101_evolution_head_COCO\ 2017/ /root/tf-logs/cd /root
tensorboard --logdir=tf0logs

5、安装 CUDA/cuDNN

这一部分是AutoDL已经安装好的,在此只是记录下,便于日后自己需要

如果AutoDL安装的PyTorch和CUDA版本不是我们需要的,需要单独安装时,首先可以在AutoDL 中选择 Miniconda/CUDA=1x.x 的平台镜像,迫不得已的情况下再自行安装

Pytorch 与 CUDA 有对应要求,如Pytorch=1.9.0 需要CUDA=11.1

查询默认CUDA/cuDNN版本

通过 nvidia-smi 查看到的 CUDA信息,上面的驱动版本是安装的最高版本,并不代表实例安装的就是CUDA版本

终端中执行查看默认镜像自带的CUDA版本(安装目录为/usr/local/):

查询平台内置镜像中的cuda版本
$ ldconfig -p | grep cudalibnvrtc.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc.so.11.0libnvrtc.so (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc.solibnvrtc-builtins.so.11.0 (libc6,x86-64) => /usr/local/cuda-11.0/targets/x86_64-linux/lib/libnvrtc-builtins.so.11.0查询平台内置镜像中的cudnn版本
$ ldconfig -p | grep cudnnlibcudnn_ops_train.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_train.so.8libcudnn_ops_train.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_train.solibcudnn_ops_infer.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so.8libcudnn_ops_infer.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudnn_ops_infer.so

上边的输出日志.so后的数字即为版本号。如果你通过conda安装了cuda那么可以通过以下命令查看:

$ conda list | grep cudatoolkit
cudatoolkit               10.1.243             h6bb024c_0    defaults
$ conda list | grep cudnn
cudnn                     7.6.5                cuda10.1_0    defaults

安装其他版本的CUDA/cuDNN

方法一:使用conda进行安装

优点:简单
缺点:一般不会带头文件,如果需要做编译,则需要照方法二安装

方法:

$ conda install cudatoolkit==xx.xx
$ conda install cudnn==xx.xx

如果你不知道版本号是什么那么可以搜索:

$ conda search cudatoolkit
Loading channels: done
# Name                       Version           Build  Channel
cudatoolkit                      9.0      h13b8566_0  anaconda/pkgs/main
cudatoolkit                      9.2               0  anaconda/pkgs/main
cudatoolkit                 10.0.130               0  anaconda/pkgs/main
cudatoolkit                 10.1.168               0  anaconda/pkgs/main
cudatoolkit                 10.1.243      h6bb024c_0  anaconda/pkgs/main
cudatoolkit                  10.2.89      hfd86e86_0  anaconda/pkgs/main
cudatoolkit                  10.2.89      hfd86e86_1  anaconda/pkgs/main
cudatoolkit                 11.0.221      h6bb024c_0  anaconda/pkgs/main
cudatoolkit                   11.3.1      h2bc3f7f_2  anaconda/pkgs/main

方法二:下载安装包安装

CUDA下载地址:https://developer.nvidia.com/cuda-toolkit-archive

安装方法:

下载.run格式的安装包后:
$ chmod +x xxx.run   # 增加执行权限
$ ./xxx.run          # 运行安装包

cuDNN下载地址:https://developer.nvidia.com/cudnn

安装方法:

先解压, 后将动态链接库和头文件放入相应目录

$ mv cuda/include/* /usr/local/cuda/include/$ chmod +x cuda/lib64/* && mv cuda/lib64/* /usr/local/cuda/lib64/

安装完成以后,增加环境变量:

$ echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:${LD_LIBRARY_PATH} \n" >> ~/.bashrc
$ source ~/.bashrc && ldconfig

提示:
默认镜像都内置了最原生的CUDA和cuDNN,如果自己安装了cudatoolkits等,那么一般会默认优先使用conda中安装的cudatoolkits,

结尾

最后,如果小伙伴也觉得AutoDL不错的话,可以点击链接注册体验下https://www.autodl.com/ 。通过邀请注册,还可以获得 10元代金券,相当于可以免费试用10元。觉得不错的话,再充值使用,毕竟薅羊毛的地方越来越少了。

「炼丹」AutoDL炼丹日记相关推荐

  1. 有没有什么高效「炼丹」神器可以推荐?复旦fastNLP团队祭出内部调参利器fitlog...

    机器之心报道 参与:Racoon X.张倩 集 Tabular 显示实验结果.自定义备忘.前端操作删除/隐藏记录.自动 git commit 等诸多功能于一体,这个调参神器助你高效「炼出金丹」. 「有 ...

  2. 旷视AI「炼丹房」Brain++ 再升级!首席科学家孙剑发AI「灵魂」三问

    来源:新智元 [导读]从深度学习算法.计算机视觉算法到AIoT算法,从开源框架旷视天元到AI生产力平台Brain++,旷视十年故事,旷视首席科学家.旷视研究院院长孙剑讲给你听. 万万没想到,我和小伙伴 ...

  3. 旷视AI「炼丹房」Brain++ 再升级 首席科学家孙剑发AI「灵魂」三问

    万万没想到,我和小伙伴们被旷厂拿去「炼丹」了. 没错,就是这个炼丹炉! 站在炉子中央,各种算法代码眼前飞闪,让我体验了一把时空穿梭的快乐. OMG!真·颅内高潮... 业界认为「炼丹」过程正如算法研究 ...

  4. 33个神经网络「炼丹」技巧

    点击上方"视学算法","星标"或"置顶" 关键时刻,第一时间送达 本文转载自:机器之心     作者:Andrej Karpathy 特斯拉 ...

  5. 格志日志 android,GitHub - SaintAdrian/GridDiary: 格志日记Android版,用「自问」的形式引导自己写日记。...

    格志日记 为什么要开发这个软件? 日记,大概是一个人最忠实的朋友.开心的时候,可以和它分享:难过的时候,可以向它倾诉:就算日子如水一般平淡地匆匆而过, 至少也有它帮你记住那些繁杂和琐碎,那些声希味淡和 ...

  6. AC日记——「HNOI2017」礼物 LiBreOJ 2020

    #2020. 「HNOI2017」礼物 思路: A题进程: 一眼出式子->各种超时过不去->看题解明白还有fft这个东西->百度文库学习fft->学习dft->学习fft ...

  7. 清华「计图」、旷视「天元」纷纷重磅开源,国产深度学习框架迎来高光时刻...

    来源:CSDN 本文约3141字,建议阅读7分钟. 本文介绍清华开源的深度学习框架 Jittor(计图) 引起了广泛关注,支撑旷视诸多业务和战绩的深度学习框架 MegEngine(天元) 也将在近日开 ...

  8. 国产深度学习框架迎来高光时刻,继清华 Jittor开源后,旷视「天元」纷纷重磅开源!...

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 1956年,美国的达特茅斯会议成为人工智能开启的标志性事件.同年,中国第一批自主制 ...

  9. 一个「菜鸟」转行AI的成长心得!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:太子长琴,算法工程师 本文是一个转行四年的「菜鸟」的成长心得,围绕 ...

最新文章

  1. c:redirect标签的使用
  2. 今日最佳:导师给你指了一个研究方向后...
  3. 为什么数据线easy糟糕
  4. 编程语言python入门要电脑什么配置能带动-对于几乎是零基础的人,直接学 Python 编程合适吗?...
  5. Linux CentOS PhpMyAdmin安装--转载
  6. CodeForces999E 双dfs // 标记覆盖 // tarjan缩点
  7. isinstance和issubclass
  8. c# 可变二维数组_C#| 具有固定行大小和可变列大小的二维数组
  9. Data Collection
  10. Springboot项目部署到外部Tomcat
  11. 为何说要多用组合少用继承?
  12. 设置 phpstorm 左侧文件自动定位到当前编辑的文件
  13. imx6ull的boot, 之我的理解
  14. 作为研发面试官,亲自教你面试技巧
  15. SSL用pem和key文件生成jks文件
  16. [SCOI2012]喵星球上的点名(后缀数组+莫队+ST表)
  17. monkeyrunner进行多设备UI测试
  18. Linux中vi上下键变成ABCD
  19. 最新 IntelliJ IDEA 详细配置步骤(图文版)
  20. 健身会所会员卡管理系统c语言,健身会所会员管理系统解决方案

热门文章

  1. 蓝牙核心协议学习 -- 基带协议(Baseband)
  2. CPU峰值性能计算方法
  3. 弘扬奥运精神,我们49行画个奥运五环
  4. 让开源按键组件MultiButton支持菜单操作(事件驱动型)
  5. 视频标清、高清、超清、1080P(这么多不同规格)
  6. 使用RGB值显示颜色
  7. Python摄氏度与华氏度的相互转换
  8. Jlink在ADS下的配置说明及常见问题解决办法
  9. c++代码实现我的世界
  10. 从购买服务器到搭建WordPress博客详细教程