zoukankan      html  css  js  c++  java
  • 基于docker的深度学习开发环境

    docker

    安装docker (release>=19.02)
    安装NVIDIA Container Toolkit 

    https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

    安装使用gpu的docker容器:

    docker run -it --gpus all centos

    安装开发环境:

    安装编译工具:

    yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
    yum -y install gcc automake autoconf libtool make wget
    yum -y install yum-utils
    yum -y install libffi-devel
    yum -y install wget
    yum -y install vim

    安装python:

    mkdir -p /usr/local/python3

    cd /usr/local/python3

    wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz

    tar -zxvf Python-3.7.1.tgz

    cd Python-3.7.1

    ./configure --prefix=/usr/local/python3

    make && make install

    ln -s /usr/local/python3/bin/python3 /usr/bin/python3

    vim ~/.bash_profile

    # .bash_profile
    # Get the aliases and functions
    if -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
    # User specific environment and startup programs
    PATH=$PATH:$HOME/bin:/usr/local/python3/bin
    export PATH
     
    source ~/.bash_profile
    python3 -V
    pip3 -V
     
    cd ~ 
    mkdir .pip
    cd .pip
    vim pip.conf

    [global]
    index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
    trusted-host=pypi.tuna.tsinghua.edu.cn

     
    退出容器:
    exit
     
    保存镜像:
    docker ps -a
    docker commit CONTAINER_ID IMAGE_NAME
     
    查看新镜像:
    docker images -a 
     
    启动修改后的新镜像:
    docker run -i -t IMAGE_NAME /bin/bash
     
     
    安装 pytorch 
     
    pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
     
    # 使用新镜像 构造新容器并使用gpu  (可跳过)
    docker run -i -t -p 2222:22 --gpus all IMAGE_NAME 
     

    使用Pycharm ssh 远程连接 Docker:

    设置容器中的centos登录密码:

    yum install passwd -y

    passwd

    安装ssh:

    yum install openssh-server -y

    配置ssh:

    cd /etc/ssh

    ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

    ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key

    ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key

    创建允许外部访问的认证文件:

    mkdir -p ~/.ssh

    > ~/.ssh/authorized_keys

    编写容器的服务启动脚本:

    vi /run.sh

    #!/bin/bash

    /usr/sbin/sshd -D

    设置执行权限:

    chmod +x/run.sh

    退出容器,将具有ssh功能的容器保存为新的镜像文件,方便使用:

    exit

    docker commit NEW_CONTAINER_ID NEW_IMAGE_NAME 

    启动并通过 ssh 连接新容器:

    docker run -d --name SSH-CONTAINER-NAME -p 2222:22 NEW_IMAGE_NAME /run.sh

    参数说明:

    -d 后台启动
    -name 指定容器名称
    -p 2222:22 将容器的22端口服务映射到宿主机的 2222 端口上

    进入后台运行的容器:

    docker exec -it CONTAINER_ID /bin/bash


    本地 ssh 连接容器:

    ssh root@127.0.0.1 -p 2222

    Pycharm ssh 连接容器 python:

    1. 打开 pycharm,依次点击 File > Settings > Project > Python Interpreter
    2. 依次点击 Show All > + > SSH Interpreter,依次输入
    3. host(容器所处的宿主机ip)、port(2222) username(为远程连接的容器用户名 root);
    4. 输入在容器中设计的root账户的密码,点击 Next;
    5. 编译器路径选择 /usr/local/bin/python3.8;
    本博文欢迎转载,转载请注明出处和作者。
  • 相关阅读:
    OpenCV中 常用 函数 的作用
    OpenCV中Mat的使用
    awk --- 常用技巧
    Specify 的含义 ------ 转载
    关于CPU CACHE工作机制的学习
    关于CPU Cache -- 程序猿需要知道的那些事
    ARM920T的Cache
    Learn Git and GitHub
    朴素贝叶斯分类器(MNIST数据集)
    k-近邻算法(KNN)识别手写数字
  • 原文地址:https://www.cnblogs.com/wkang/p/14953324.html
Copyright © 2011-2022 走看看