之前一直用virtualenv配置python虚拟环境,最近用到conda。他们的区别见这篇博客。
conda简介
conda是一个python的包管理工具(可以直接spack安装),同时还能配置python虚拟环境,相当于virtualenv和pip的集合体。python的强大功能依赖于丰富的package,对于不同的项目可能会安装不同的package或者想的package的不同版本。所以为了隔离不同项目的python包环境,出现了虚拟环境。
conda和virtualenv(venv)很大的几个不同是:
- conda的虚拟环境能够有独立于系统的python解释器版本,但是venv是以来主环境的。
- conda可以安装一个写工具软件,但是venv不能。
- conda的虚拟环境统一保存在conda指定的位置,venv虚拟环境保存在生成时指定的文件夹。
基本使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# 配置来初始化shell,针对于bash eval "$($(which conda) shell.bash hook)" # 用以修复 CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. # 可以直接用alias加到~/.bashrc中,避免每次开启新终端都要输一长串命令 alias init_conda='eval "$($(which conda) shell.bash hook)"' # 创建虚拟环境 conda create -n env_name (python=3.8) -n 指定环境名,后面可以指定python版本 # 开启虚拟环境 conda activate env_name # 开启成功后,命令提示符前面会有一个(env_name) # 关闭虚拟环境 conda activate env_name # 显示当前活跃环境安装的包 conda list # 显示指定环境安装的包 conda list -n env_name # 显示当前所有环境 conda env list # 删除指定环境 conda remove -n env_name --all |
安装pytorch
直接安装预编译版本pytorch
编译源码安装
安装依赖
1 2 3 4 |
conda install astunparse numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing_extensions future six requests dataclasses conda install -c pytorch magma-cuda112 # or the magma-cuda* that matches your CUDA version from https://anaconda.org/pytorch/repo |
下载源码
1 2 3 4 5 6 |
git clone --recursive https://github.com/pytorch/pytorch cd pytorch # if you are updating an existing checkout git submodule sync git submodule update --init --recursive --jobs 0 |
安装pytorch
1 2 3 4 5 6 7 8 |
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"} export USE_CUDA=1 export REL_WITH_DEB_INFO=1 export MAX_JOBS=16 export USE_NINJA=OFF python setup.py install |
安装完成测试
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
$ cd .. $ python >>> import torch >>> x = torch.rand(3, 5) >>> print(x) tensor([[0.9821, 0.3802, 0.8786, 0.8570, 0.7950], [0.2515, 0.8776, 0.6394, 0.8087, 0.6158], [0.6292, 0.5432, 0.3712, 0.5063, 0.2454]]) >>> print(torch.cuda.is_available()) True >>> print(torch.cuda.get_device_name()) GeForce RTX 2080 Ti |
reference
https://www.zhihu.com/question/58033789
最新评论
感谢博主,让我PyTorch入了门!
博主你好,今晚我们下馆子不?
博主,你的博客用的哪家的服务器。
您好,请问您对QNN-MO-PYNQ这个项目有研究吗?想请问如何去训练自己的数据集从而实现新的目标检测呢?
where is the source code ? bomb1 188 2 8 0 0 hello world 0 0 0 0 0 0 1 1 9?5
在安装qemu的过程中,一定在make install 前加入 sudo赋予权限。
所以作者你是训练的tiny-yolov3还是yolov3...
很有用