Conda

环境创建

  • 获取版本号

    conda -V
  • 创建环境

    conda create -n your_env_name python=3.5
  • 环境yml导出

    conda env export > environment.yml
  • 环境yml导入

    conda env create -f environment.yml

Conda环境打包与重现

  • conda-pack安装

    conda install -c conda-forge conda-pack
    or
    pip install conda-pack
  • 环境打包

    # Pack environment my_env into my_env.tar.gz
    conda pack -n my_env
    
    # Pack environment my_env into out_name.tar.gz
    conda pack -n my_env -o out_name.tar.gz
    
    # Pack environment located at an explicit path into my_env.tar.gz
    conda pack -p /explicit/path/to/my_env
  • 环境重现

    • 可以直接解压缩至conda的envs目录下
    • 或者单独使用
    # Unpack environment into directory `my_env`
    mkdir -p my_env
    tar -xzf my_env.tar.gz -C my_env
    
    # Use Python without activating or fixing the prefixes. Most Python
    # libraries will work fine, but things that require prefix cleanups
    # will fail.
    ./my_env/bin/python
    
    # Activate the environment. This adds `my_env/bin` to your path
    source my_env/bin/activate
    
    # Run Python from in the environment
    (my_env) $ python
    
    # Cleanup prefixes from in the active environment.
    # Note that this command can also be run without activating the environment
    # as long as some version of Python is already installed on the machine.
    (my_env) $ conda-unpack

Conda与pip换源

Conda

  • 生成.condarc文件
    先执行 conda config --set show_channel_urls yes
  • 各大镜像

  • 换默认源

    conda config --remove-key channels
  • 查看源

    conda config --show-sources

Pip

  • 查看源

    pip3 config list
  • 换源

    # 清华源
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
    # 阿里源
    pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
    # 腾讯源
    pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
    # 豆瓣源
    pip config set global.index-url http://pypi.douban.com/simple
    # 中科大
    pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple
  • 换回默认源

    pip config unset global.index-url

Pip

  • pip安装requirements.txt

    pip install -r requirements.txt
  • pip安装指定源

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
    
    pip install -i http://pypi.douban.com/simple Flask  -- trusted-host pypi.douban.com
    或者
    pip install Flask -i http://pypi.douban.com/simple -- trusted-host pypi.douban.com

Linux

程序挂后台

  • screen
    直接输入命令screen启动一个新的会话,

    screen -ls -> 列出当前所有的session
    screen -r yourname -> 回到yourname这个session
    ctrl + a + d -> 暂时离开当前session,将目前的 screen session 丢到后台执行
  • nohup

    nohup [命令] > [日志文件名].log 2>&1 &

    实时查看日志

    tail -f [日志文件名].log

    结束进程只能采用pskill

    ps -aux | grep "[命令]" 
    kill -9 [进程号PID]

查看GPU情况

  • gpustat

    watch -n 1 -c gpustat --color
  • nvidia-smi

    watch -n 1 nvidia-smi

查看是否卡显存与解决办法

  • 查看进程

    fuser -v /dev/nvidia*
    或者有管理员权限的时候
    sudo fuser -v /dev/nvidia*
  • 结束进程

    ps x |grep python|awk '{print $1}'|xargs kill
    解释:ps grep组合查看python进程,使用awk分割pid,xargs组合kill命令,等价于kill [属于python的pid]
  • 关闭某张卡

    sudo nvidia-smi drain -p 0000:01:00.0 -m 1

    这里的0000:01:00.0是对应掉线的GPU PCIe位置

文件传输

  • sftp

    连接:
    sftp username@remote_hostname_or_IP
    下载远程文件:
    get remote_file_name
    下载远程文件并重命名:
    get remote_file_name local_file_name
    递归下载远程文件夹:
    get -r some_directory_name
    上传本地文件:
    put local_file_name
    上传整个文件夹:
    put -r local_directory_name
    退出:
    exit
  • scp
    把A服务器的文件夹传输到B服务器

    scp -r -P [B端口] [A文件夹位置] [B用户名]@[B IP]:[B存放位置]

使用指定ip与端口做中转代理

export ALL_PROXY=[协议名:ip:端口]
检查ip是否修改
curl -i cip.cc
取消代理:
unset ALL_PROXY

使用chmod修改权限

递归更改目录权限
chmod -R 555 /home/oracle

使用ln进行软链接(使用数据集)

ln -s 源文件 目标文件

查看文件个数

统计当前目录下文件的个数(不包括目录)

ls -l | grep "^-" | wc -l

统计当前目录下文件的个数(包括子目录)

ls -lR| grep "^-" | wc -l

查看某目录下文件夹(目录)的个数(包括子目录)

ls -lR | grep "^d" | wc -l

创建用户

sudo useradd -m -s /bin/bash newuser

Pycharm

使用X11转发显示

在shell端:
echo $DISPLAY
# 比如显示localhost:10.0
Pycharm中环境变量添加:
DISPLAY=localhost:10.0