【PyTorch 深度学习常用 Linux 指令总结】

发布于:2025-02-19 ⋅ 阅读:(26) ⋅ 点赞:(0)

PyTorch 深度学习常用 Linux 指令总结

在使用 PyTorch 进行深度学习任务时,Linux 系统提供了强大的命令行工具,帮助我们高效地管理环境、监控资源、处理文件和调试代码。以下是一些常用的 Linux 指令,特别适合 PyTorch 开发者。

1. 环境配置与管理

安装 PyTorch 和相关库
  • 使用 pip 安装 PyTorch 和常见深度学习库:
    pip install torch torchvision torchaudio
    
  • 如果使用 Anaconda 或 Miniconda,可以通过以下命令安装:
    conda install pytorch torchvision torchaudio -c pytorch
    
查看已安装的 PyTorch 版本
  • 在终端中运行以下命令,检查 PyTorch 和 torchvision 的版本:
    python -c "import torch; print(torch.__version__)"
    python -c "import torchvision; print(torchvision.__version__)"
    
  • 输出示例:
    1.13.1
    0.14.1
    
设置环境变量(与 GPU 相关)
  • 如果需要手动设置 CUDA 相关路径,可以编辑 ~/.bashrc~/.zshrc 文件:
    export CUDA_HOME=/usr/local/cuda
    export PATH=$PATH:$CUDA_HOME/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64
    

2. 系统和硬件信息查询

查看 GPU 使用情况
  • 使用 nvidia-smi 工具查看 GPU 的使用情况(需安装 NVIDIA 驱动):
    nvidia-smi
    
  • 输出示例:
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 470.103.01   Driver Version: 470.103.01   CUDA Version: 11.4     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  Tesla K80           Off  | 00000000:00:1E.0 Off |                    0 |
    | N/A   35C    P8    30W / 149W |      0MiB / 11441MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
查看系统内存和 CPU 使用情况
  • 使用 tophtop(需安装 htop)查看系统资源使用情况:
    top
    htop
    
  • 输出示例:
    top - 10:37:36 up 13 days, 23 min,  1 user,  load average: 0.06, 0.02, 0.00
    Tasks:  79 total,   1 running,  78 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  6132868 total,  4545316 free,   312528 used,  1275024 buff/cache
    KiB Swap:  8228860 total,  8105104 free,   123756 used.  5295728 avail Mem 
    

3. 文件系统管理

切换目录和列出文件
  • 使用 cd 切换工作目录:
    cd /path/to/your/project
    
  • 使用 ls 查看当前目录下的文件和文件夹:
    ls -lh
    
  • 输出示例:
    total 4.0K
    drwxr-xr-x 2 user user 4.0K Feb 14 12:00 models
    -rw-r--r-- 1 user user  256 Feb 13 15:23 train.py
    -rw-r--r-- 1 user user 1.2M Feb 12 10:00 dataset.zip
    
解压和压缩文件
  • 解压常见的数据集文件:
    • .zip 文件:
      unzip dataset.zip
      
    • .tar.gz 文件:
      tar xzvf dataset.tar.gz
      
  • 压缩文件到 .zip 格式:
    zip -r dataset.zip dataset_folder
    
查找文件
  • 使用 findlocate 查找特定文件:
    • 按文件名查找:
      find /path/to/search -name "*.py"
      
    • 使用 locate(需安装并更新数据库):
      locate train.py
      

4. 任务管理与调试

后台运行任务
  • 使用 & 符号将任务放到后台运行:
    python train.py &
    
  • 使用 screentmux 创建会话以在断开连接后保持任务运行:
    screen -S training_session  # 创建一个名为 training_session 的会话
    
  • 在会话中运行命令后,按 Ctrl + A + D 分离会话,使用以下命令重新连接:
    screen -r training_session
    
查看和终止进程
  • 使用 psgrep 查找进程:
    ps aux | grep python
    
  • 终止指定进程(假设进程 ID 为 1234):
    kill 1234
    

5. 日志和调试

实时查看日志文件
  • 使用 tail 动态跟踪日志文件的更新:
    tail -f training.log
    
  • 输出滚动显示日志文件的新内容,通过 Ctrl + C 停止。
调试代码
  • 在终端中使用 pdb(Python 调试器)调试 PyTorch 代码:
    python -m pdb train.py
    
  • 可以设置断点、逐行调试、检查变量等。

6. 网络和数据传输

传输文件到远程服务器
  • 使用 scp 将本地文件传输到远程服务器:
    scp -r /path/to/local/dataset user@remotehost:/path/to/remote/dataset
    
测试网络连接
  • 使用 ping 测试与远程服务器的连接:
    ping remotehost
    
  • 使用 telnet 测试端口的连通性(检查是否能访问远程服务器的特定端口):
    telnet remotehost 80
    

7. 系统优化

调整系统资源限制
  • 编辑 /etc/security/limits.conf 文件以增加文件描述符限制(适用于高并行任务):
    # 添加以下内容(需要管理员权限)
    <username> hard nofile 65536
    <username> soft nofile 65536
    sudo ulimit -n 65536
    
查看系统信息和硬件配置
  • 查看 CPU 信息:
    lscpu
    
  • 查看内存信息(部分系统可能没有此命令):
    lsmem
    
  • 查看 NVIDIA GPU 信息:
    lspci -nnk | grep -i nvidia -A 3
    

网站公告

今日签到

点亮在社区的每一天
去签到