使用工具和平台调试和云端训练代码


VScode调试代码

  1. 一定先要在VScode的客户端中直接选择Python解释器(自己虚拟环境的),而不是通过设置之类的,因为那样有些解释器是找不到的:

    image-20240109195107094

  2. 启动VScode的调试功能,注意启动调试功能后,会生成一个launch.json文件:

    image-20240109195221363

  3. 注意:该文件默认调试从当前文件开始调试,所以一般从主文件main.py文件启动调试功能:

    image-20240109195321275

  4. 注意:如果执行文件需要命令行参数,在VScode中要在launch.json文件中添加args数组,而在PyCharm中可在配置项中手动选择初始配置文件。

VScode启动Tensorboard

  1. 切换到正确的输出目录(注意不是具体工程所在的目录!):

    image-20240109195853690

    如上图所示,是切换到out目录,而不是下面的具体工程目录

  2. 执行tensorboard命令行命令:

    tensorboard --logdir=./
  3. 输出相关信息:

    TensorFlow installation not found - running with reduced feature set.
    I0109 19:34:57.516272  7692 plugin.py:429] Monitor runs begin
    Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
    TensorBoard 2.10.0 at http://localhost:6006/ (Press CTRL+C to quit)

    注意:如果之前切换错了目录导致打开tensorboard发现没有数据,即使在当前终端切换回去发现还是没有数据,此时应该打开新的终端(或者重启VScode)执行正确的命令行命令。

Colab + Conda 云端训练代码

本次项目直接运行就行,没有用到预训练文件和数据集文件,如果项目以后需要提前准备这些数据集,我会更新教程。

查看云端设备信息及更改运行时类型为GPU

新建笔记本,以下是常见的查看设备信息指令:

image-20240109200622945

print("============查看GPU信息================")
# 查看GPU信息
!/opt/bin/nvidia-smi
#  或者使用如下命令也可以
#  !nvidia-smi
print("==============查看pytorch版本==============")
# 查看pytorch版本
import torch
print(torch.__version__)
print("============查看虚拟机硬盘容量================")
# 查看虚拟机硬盘容量
!df -lh
print("============查看cpu配置================")
# 查看cpu配置
!cat /proc/cpuinfo | grep model\ name
print("=============查看内存容量===============")
# 查看内存容量
!cat /proc/meminfo | grep MemTotal

挂载谷歌云端硬盘

from google.colab import drive
drive.mount('/content/gdrive')

切换到代码所在的工作目录(可以复制路径):

%cd /content/gdrive/MyDrive/Colab Notebooks/lsq-net-master

image-20240109201002063

安装MiniConda

%%bash
MINICONDA_INSTALLER_SCRIPT=Miniconda3-py39_4.10.3-Linux-x86_64.sh
MINICONDA_PREFIX=/usr/local
wget https://repo.anaconda.com/miniconda/$MINICONDA_INSTALLER_SCRIPT
chmod +x $MINICONDA_INSTALLER_SCRIPT
./$MINICONDA_INSTALLER_SCRIPT -b -f -p $MINICONDA_PREFIX

注意:此处的MiniConda版本和你当前的python版本有关,当前python版本为3.10,但是MiniConda最新的版本支持到python3.9,但我安装了这个版本在这个项目目前也没有什么问题。

将Conda安装的包添加到python路径中

import sys
sys.path
sys.path.append("/usr/local/lib/python3.10/site-packages")

使用Conda安装各种包

!conda install tensorboard
!conda install scikit-learn pyyaml munch

注意:使用conda安装pytorch和torchvision的老生常谈问题——版本不正确导致默认下载的cpu版本。

例如当前环境的CUDA版本为12.2,但是如果我用一些不匹配版本(大概率是项目Readme.md文件要求的)的命令进行安装:

!conda install pytorch torchvision torchaudio cudatoolkit=11.1 -c pytorch -c conda-forge

这个命令将从PyTorch和conda-forge的频道安装PyTorch、Torchvision和Torchaudio,并且指定CUDA工具包的版本为11.1。

但是可能是因为是此版本没有GPU版本,所以pytorch默认安装cpu版本。

正确做法应该是去官网,查看符合你CUDA版本的pytorch安装命令(向下兼容)。如下:

!conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia

这样安装的pytorch和torchvision版本才是GPU版本的。

注意:我在colab上尝试创建过虚拟环境,但感觉没有什么用。因为几个小时后可能就会断开,又得重新配置环境,不如直接不创建虚拟环境。而且创建后进入虚拟环境查看python版本还是环境外的版本,出现更多细小的问题,所以不去创建节省精力。


文章作者: QT-7274
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 QT-7274 !
评论
  目录