【深度学习】wsl-ubuntu深度学习基本配置

配置pip镜像源

这里注意一点,你换了源之后就最好不要开代理了,要不然搞不好下载失败,pip和conda都是

## 配置中科大镜像
pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/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 install 安装包名字
方法二:python -m pip install 安装包名字
方法三:pip --trusted-host pypi.python.org install 安装包名字
		pip install 安装包名字 -i http://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com            //豆瓣镜像网站
		pip install 安装包名字 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com                  //豆瓣
		pip install 安装包名字 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn    //清华大学

conda配置镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ 
conda config --set show_channel_urls yes
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

pip install -r requirements.txt

除了使用pip命令来生成及安装requirement.txt文件以外,也可以使用conda命令来安装。
conda install --yes --file requirements.txt

怎么用wsl的conda跑深度学习代码




正常打开终端选择即可。

运行即可跑pycharm中的项目了

wls安装

https://zhuanlan.zhihu.com/p/663817616 基本都是跟着这个装的,写的很好

https://blog.csdn.net/weixin_45840825/article/details/127138564 怎么把wls不安装在C盘

最高支持cuda是12.5

最新默认安装的是12.6,所以要找旧的
https://developer.nvidia.com/cuda-11-6-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local

安装11.6

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-6-local_11.6.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-6-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda

创建环境 
conda create -n py39gpu python=3.9

激活环境
conda activate py39gpu

设置conda下载的时长大一点,然后运行安装命令
conda config --set remote_read_timeout_secs 600.0
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

挑一个你的小于或者等于你的cuda的平台,使用安装命令安装即可

-c pytorch 指定了从pytorch频道安装PyTorch相关的包,而-c conda-forge 指定了从conda-forge频道安装其他包。在该命令中,pytorch和torchvision以及torchaudio可能从pytorch频道安装,而cudatoolkit可能从conda-forge频道安装,因为conda-forge频道提供了更多的CUDA版本选择。

实战

setup.py如下

#!/usr/bin/env python3

import setuptools
import os


def _read_reqs(relpath):
    fullpath = os.path.join(os.path.dirname(__file__), relpath)
    with open(fullpath) as f:
        return [s.strip() for s in f.readlines()
                if (s.strip() and not s.startswith("#"))]


_REQUIREMENTS_TXT = _read_reqs("requirements.txt")
_INSTALL_REQUIRES = [l for l in _REQUIREMENTS_TXT if "://" not in l]

setuptools.setup(
    name='tda',
    version='0.2',
    install_requires=_INSTALL_REQUIRES,
    data_files=[('.', ['requirements.txt'])],
    packages=setuptools.find_packages(),
)

requirements.txt如下

numpy
scipy
seaborn
torch==1.4.0
torchvision==0.5.0
ipython
tqdm
joblib
dionysus
scikit-learn
networkx==1.11
qgrid
numba==0.48.0
cached-property>=1.5.1
pandas
adversarial-robustness-toolbox-1.3.2
mlflow

这里是使用的virtualenv来构建虚拟环境的,没有使用conda

当你运行pip install -e .时,pip会在当前目录(即包的根目录)查找setup.py文件。setup.py是一个Python脚本,用于定义包的元数据和安装要求。pip使用这个文件来安装包。

用于以"editable"模式(也称为"开发模式")安装Python包。在editable模式下,pip不会复制包的文件到Python的site-packages目录,而是在site-packages目录下创建一个链接(通常是符号链接),指向包的源代码目录。这样,当你修改源代码时,这些更改会立即反映在已安装的包中。

我们这里使用conda

conda create -n my_env python=3.6
conda activate my_env
pip install -e .

这里有一个库安装失败了,原因是因为指定的版本号太低了,这里直接安装最新的,看看后面能不能用
pip install adversarial-robustness-toolbox

显示还有几个库没有安装,因为adversarial-robustness-toolbox-1.3.2安装失败,导致后面的都没有安装了

修改一下requirements.txt

再次运行pip install -e .

正如作者在readme中所写,dionysus很特殊

https://github.com/mrzv/dionysus

#安装boost
sudo apt-get update
sudo apt-get install libboost-all-dev

pip install --verbose dionysus   #报错
pip install --verbose git+https://github.com/mrzv/dionysus.git  #报错
conda install -c conda-forge dionysus  #成功

报错如下

对于一些仍有问题的包单独安装即可

运行,报错

ModuleNotFoundError: No module named 'tda' 但tda是项目的一级目录

尝试一:

https://zhuanlan.zhihu.com/p/526710677

将根目录标记一下

尝试二:

tda目录下的__init__.py文件,在其中加上 from tda import *

https://blog.csdn.net/lu8000/article/details/120490555

这篇文章是有思考的

分析一下是和环境有关的

在pycharm控制台运行下面命令

python tda/experiments/mahalanobis/mahalanobis_binary.py \
    --attack_type PGD \
    --architecture cifar_lenet \
    --dataset CIFAR10 \
    --epochs 300 \
    --number_of_samples_for_mu_sigma 500 \
    --preproc_epsilon 0.01

直接使用pycharm自带的运行

点击绿色运行小箭头

就不是刚才的报错了,已经绕过了刚才的报错了

复制真正的执行代码到conda的控制台

/home/ubuntu/miniconda3/bin/conda run -n my_env --no-capture-output python /mnt/d/all_for_study/python_code/experiment/detecting-by-dissecting-master/tda/experiments/mahalanobis/mahalanobis_binary.py --attack_type PGD --architecture cifar_lenet --dataset CIFAR10 --epochs 300 --number_of_samples_for_mu_sigma 500 --preproc_epsilon 0.01 
相关推荐
IE066 分钟前
深度学习系列76:流式tts的一个简单实现
人工智能·深度学习
GIS数据转换器11 分钟前
城市生命线安全保障:技术应用与策略创新
大数据·人工智能·安全·3d·智慧城市
幻想编织者29 分钟前
Ubuntu实时核编译安装与NVIDIA驱动安装教程(ubuntu 22.04,20.04)
linux·服务器·ubuntu·nvidia
一水鉴天1 小时前
为AI聊天工具添加一个知识系统 之65 详细设计 之6 变形机器人及伺服跟随
人工智能
m0_743106464 小时前
【论文笔记】MV-DUSt3R+:两秒重建一个3D场景
论文阅读·深度学习·计算机视觉·3d·几何学
m0_743106464 小时前
【论文笔记】TranSplat:深度refine的camera-required可泛化稀疏方法
论文阅读·深度学习·计算机视觉·3d·几何学
井底哇哇7 小时前
ChatGPT是强人工智能吗?
人工智能·chatgpt
Coovally AI模型快速验证7 小时前
MMYOLO:打破单一模式限制,多模态目标检测的革命性突破!
人工智能·算法·yolo·目标检测·机器学习·计算机视觉·目标跟踪
AI浩8 小时前
【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
人工智能·深度学习·计算机视觉·transformer
可为测控8 小时前
图像处理基础(4):高斯滤波器详解
人工智能·算法·计算机视觉