【深度学习】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 
相关推荐
liugddx13 分钟前
Qwen2-VL:发票数据提取、视频聊天和使用 PDF 的多模态 RAG 的实践指南
人工智能·gpt·ai·pdf·开源·音视频
学习前端的小z1 小时前
【AIGC】如何通过ChatGPT提示词Prompt定制个性学习计划
人工智能·chatgpt·prompt·aigc
小馒头学python1 小时前
机器学习中的概率超能力:如何用朴素贝叶斯算法结合标注数据做出精准预测
人工智能·python·算法·机器学习
Once2gain1 小时前
dlopen: cannot load any more object with static TLS & sklearn, HPOBench, smac3
人工智能·python·sklearn
B站计算机毕业设计超人1 小时前
计算机毕业设计Python+大模型中医养生问答系统 知识图谱 医疗大数据 中医可视化 机器学习 深度学习 人工智能 大数据毕业设计
大数据·人工智能·爬虫·python·深度学习·机器学习·知识图谱
学不会lostfound1 小时前
三、计算机视觉_02计算机视觉领域的四大基本任务
人工智能·目标检测·图像分割·图像分类·计算机视觉四大基本任务·目标定位
华院计算2 小时前
活动|华院计算作为联盟理事单位出席进博会全球人工智能合作论坛
人工智能
卧式纯绿2 小时前
自动驾驶3D目标检测综述(二)
人工智能·目标检测·自动驾驶
爱数学的程序猿2 小时前
联邦学习的未来:深入剖析FedAvg算法与数据不均衡的解决之道
深度学习·学习·机器学习
TMT星球2 小时前
引领豪华MPV新趋势,比亚迪夏内饰科技广州车展全球首发
人工智能·科技