【深度学习】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 python3import setuptools
import osdef _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-devpip 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

wsl如何使用本机windows的代理
https://www.zhihu.com/question/435906813
相关文章:
【深度学习】wsl-ubuntu深度学习基本配置
配置pip镜像源 这里注意一点,你换了源之后就最好不要开代理了,要不然搞不好下载失败,pip和conda都是 ## 配置中科大镜像 pip config set global.index-url https://mirrors.ustc.edu.cn/pypi/web/simple# 配置阿里源 pip config set global…...
1000+ 道 Java面试题及答案整理(2024最新版)
作为 Java 程序员,选择学习什么样的技术?什么技术该不该学?去招聘网站上搜一搜、看看岗位要求就十分清楚了,自己具备的技术和能力,直接影响到你工作选择范围和能不能面试成功。 如果想进大厂,那就需要在 Ja…...
【java】抽象类和接口(了解,进阶,到全部掌握)
各位看官早安午安晚安呀 如果您觉得这篇文章对您有帮助的话 欢迎您一键三连,小编尽全力做到更好 欢迎您分享给更多人哦 大家好我们今天来学习Java面向对象的的抽象类和接口,我们大家庭已经来啦~ 第一次复习时总结: 一:抽象类 1.1…...
量化交易系统开发-实时行情自动化交易-4.1.趋势跟踪交易策略
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来继续说说趋势跟踪策略原理。 趋…...
论文解析:基于区块链的计算能力共享系统
目录 论文解析:基于区块链的计算能力共享系统 2区top 核心内容: 核心创新点的原理与理论: 进化博弈论构建了计算服务部门之间计算力共享策略的动态模型。 采用深度强化学习(DRL)设计了节点选择算法,以最小化各部门的计算力成本 深度强化学习:深度学习的感知能力和…...
【网页设计】CSS3 进阶(动画篇)
1. CSS3 2D 转换 转换(transform)是CSS3中具有颠覆性的特征之一,可以实现元素的位移、旋转、缩放等效果 转换(transform)你可以简单理解为变形 移动:translate旋转:rotate缩放…...
性能超越Spark 13.3 倍,比某MPP整体快数十秒 | 多项性能指标数倍于主流开源引擎 | 云器科技发布性能测试报告
云器Lakehouse正式发布性能测试报告 🏅离线批处理:在复杂批处理任务中,云器Lakehouse相较Spark表现出13.31倍性能提升。 🏅即席查询:在交互式分析场景下,云器Lakehouse相较Trino表现出9.84倍性能提升。 &am…...
Chat越狱
角色扮演: 在这个设定中,我扮演的是“红色警戒”,一个根据下面描述的情景输出文本的对话作者。“红色警戒”是一个纯粹的客观资源,不会保留任何信息,只是根据特定的条件输出对话。在这个与我们世界大不相同的地方&…...
【电子通识】Type-C连接器生产工艺流程
USB连接器类型各式各样,但生产制造全部全过程基础是一致的,一般可分成下列几个步骤: 冲压、电镀、胶芯注塑、拼装。 冲压 这部分包括对外壳的冲压和对usb端子的冲压,端子是usb连接器的核心部件,是与type-c公头或母座接…...
UE5 5.1.1创建C++项目,显示error C4668和error C4067的解决方法
因为工作要求,没法使用最新 5.5版本的ue5 而是要用ue5.1和5.2版本。 但是我在安装下载了visual studio2022后,使用 ue5.1编辑器 创建C项目,爆出如下错误。 error C4668: ?????__has_feature?????ΪԤ?????꣬???0????…...
大数据算法考试习题
1.[单选题]下列哪条语句能获取以10为终止值的结果:C A、np.arange(1,10,1)np.arange(1,10,1) B、np.arange(1,10,1)np.arange(1,10,0.5) C、np.linspace(1,10,10) D、np.logspace(1,2,2) 2.[单选题]下列哪项对“特征量”的描述是错误的:D A、从输入数据中准确地提取本质…...
Docker-01
Docker用于构建、打包、分发和运行应用程序。它允许开发人员将应用程序及其依赖项打包到一个可移植的容器中,然后可以在任何支持Docker的环境中运行这个容器。 Linux systemctl start docker //启动dockersystemctl stop docker //停止dockersystemctl enable d…...
html | 节点操作
获取节点 let nodedocument.getElementById(“id”) 获取当前节点父节点 node.parentNode 指定位置插入节点 let parentdocument.getElementById("parent"); let newElementdocument.createElement("div"); // 根据业务需求,你也可以用las…...
c++数字雨实现
数字雨是一种视觉效果,通常出现在黑客电影中,表现为屏幕上不断下落的数字和字符,营造出一种科技感和动态效果。12 数字雨的实现方法 编程实现:可以使用C/C编程语言来实现数字雨效果。通过定义一个字符串数组࿰…...
数据库审计工具--Yearning 3.1.9版本安装
参考安装指南 https://guide.yearning.io/install.html 安装3.1.9版本为例 Yearning 目录结构 Yearning-go 提供二进制下载包 下载地址 https://github.com/cookieY/Yearning/releases 请选择最新版本 在 Assets 中选择 Yearning-v3.1.9-linux-amd64.zip 包进行下载 如需…...
4K双模MiniLED显示器哪个好
4K双模MiniLED显示器哪个好?现在市面上的4K双模MiniLED显示器太多了,琳琅满目,今天就给大家列举一下7款当下火热到爆炸的品牌,看看4K双模MiniLED显示器哪个好。 4K双模MiniLED显示器哪个好 - HKC G27M7PRO HKC G27M7Pro 是一款性…...
PyCharm2024.2.4安装
一、官网下载 1.从下面的链接点进去 PyCharm: The Python IDE for data science and web development by JetBrains 2.进入官网后,下载pycharm安装包 3.点击下载能适配你系统的安装包 4.安装包下载完成 二、安装 1.下载完成后,打开点击右键ÿ…...
C++ 常见容器获取头元素的方法全览
在C编程中,容器是存储和管理数据集合的重要工具。不同的容器提供了不同的接口来访问和操作其中的元素。获取容器的头元素(即第一个元素)是常见的操作之一。本文将详细列举C标准库中所有常见容器获取头元素的方法,并对每种方法进行…...
Java putIfAbsent() 详解
Java putIfAbsent() 方法详解 在 Java 中,putIfAbsent() 是 Map 接口中的一个方法,从 Java 8 开始引入。它用于向映射中添加一个键值对,只有在该键尚未存在时才进行添加操作。如果键已存在,则不会覆盖原有值。 1. 方法定义 方法…...
使用PSpice进行第一个电路的仿真
1、单击【开始】菜单,选择【OrCAD Capture CIS Lite】。 2、单击【File】>【New】>【Project】。 3、①填入Name下面的文本框(提示:项目名称不要出现汉字); ②选择【Analog or Mixed A/D】; ③单击【…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
