在Anaconda中配置PyTorch環(huán)境的完整流程
摘要
摘要:本文詳細(xì)介紹了在Anaconda中配置PyTorch環(huán)境的完整流程,涵蓋CPU、GPU(NVIDIA CUDA/AMD ROCm)及Apple Silicon版本。內(nèi)容包括系統(tǒng)兼容性檢查、環(huán)境創(chuàng)建、不同安裝渠道對(duì)比,以及具體安裝命令和驗(yàn)證步驟。針對(duì)NVIDIA GPU用戶(hù)提供了CUDA 12.1/11.8的安裝方案,AMD用戶(hù)介紹了ROCm配置方法,Mac用戶(hù)則提供了Metal加速支持。文中包含各平臺(tái)的驅(qū)動(dòng)要求、存儲(chǔ)空間建議和常見(jiàn)問(wèn)題排查方法,幫助用戶(hù)快速搭建高效的PyTorch開(kāi)發(fā)環(huán)境。
一、前置準(zhǔn)備與系統(tǒng)要求
1.1 系統(tǒng)兼容性
| 平臺(tái) | 最低要求 | 推薦配置 |
|---|---|---|
| Windows | Windows 10, Python 3.8+ | Windows 11, Python 3.10-3.11 |
| Linux | Ubuntu 18.04+, glibc 2.17+ | Ubuntu 22.04+, Python 3.11 |
| macOS | macOS 11.0+ (Intel/Apple Silicon) | macOS 14+, Python 3.11 |
1.2 GPU驅(qū)動(dòng)要求(NVIDIA)
- CUDA 12.1: 驅(qū)動(dòng)版本 >= 530.30.02
- CUDA 11.8: 驅(qū)動(dòng)版本 >= 520.61.05
- 檢查驅(qū)動(dòng)版本:
nvidia-smi # 查看驅(qū)動(dòng)版本和CUDA版本
1.3 存儲(chǔ)空間需求
- CPU版本: 約2-3GB
- GPU版本: 約5-8GB(包含CUDA工具包)
- 完整DL環(huán)境: 建議預(yù)留10GB以上
二、創(chuàng)建專(zhuān)用PyTorch環(huán)境
2.1 步驟1: 創(chuàng)建新環(huán)境
# 創(chuàng)建名為pytorch的環(huán)境,指定Python版本 conda create -n pytorch python=3.11 -y # 激活環(huán)境 conda activate pytorch # 驗(yàn)證環(huán)境激活 which python # 應(yīng)顯示 .../anaconda3/envs/pytorch/bin/python
2.2 步驟2: 升級(jí)pip(推薦)
# 在激活的環(huán)境中升級(jí)pip python -m pip install --upgrade pip
2.3 步驟3: 驗(yàn)證基礎(chǔ)環(huán)境
# 檢查Python版本 python --version # 檢查conda環(huán)境 conda info --envs
最佳實(shí)踐: 始終為不同項(xiàng)目創(chuàng)建獨(dú)立環(huán)境,避免包沖突。
三、PyTorch安裝方式選擇
3.1 安裝渠道對(duì)比
| 渠道 | 優(yōu)點(diǎn) | 缺點(diǎn) | 適用場(chǎng)景 |
|---|---|---|---|
| 官方推薦命令 | 自動(dòng)匹配最優(yōu)版本 | 需要網(wǎng)絡(luò)連接 | 大多數(shù)用戶(hù) |
| conda安裝 | 依賴(lài)管理完善 | 版本可能稍舊 | 企業(yè)環(huán)境 |
| pip安裝 | 版本最新 | 依賴(lài)沖突風(fēng)險(xiǎn) | 開(kāi)發(fā)者 |
| 源碼編譯 | 完全定制 | 復(fù)雜耗時(shí) | 特殊需求 |
3.2 官方安裝命令生成器
訪(fǎng)問(wèn) PyTorch官方安裝頁(yè)面 獲取最新安裝命令。
四、CPU版本PyTorch安裝
4.1 方法1: 使用conda安裝(推薦)
# 激活環(huán)境 conda activate pytorch # 安裝CPU版本PyTorch conda install pytorch torchvision torchaudio cpuonly -c pytorch -y
4.2 方法2: 使用pip安裝
# 激活環(huán)境 conda activate pytorch # 安裝CPU版本PyTorch pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
4.3 驗(yàn)證CPU安裝
import torch
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}") # 應(yīng)該返回False
print(f"設(shè)備: {torch.device('cpu')}")五、GPU版本PyTorch安裝(NVIDIA)
5.1 步驟1: 驗(yàn)證GPU和驅(qū)動(dòng)
# 檢查NVIDIA GPU nvidia-smi # 輸出示例: # +-----------------------------------------------------------------------------+ # | NVIDIA-SMI 535.129.03 Driver Version: 535.129.03 CUDA Version: 12.2 | # +-------------------------------+----------------------+----------------------+
5.2 步驟2: 選擇CUDA版本
根據(jù)nvidia-smi顯示的CUDA版本選擇:
- CUDA 12.1: 最新穩(wěn)定版本,推薦大多數(shù)用戶(hù)
- CUDA 11.8: 兼容性更好,適合企業(yè)環(huán)境
5.3 方法1: CUDA 12.1安裝(推薦)
# 激活環(huán)境 conda activate pytorch # 安裝CUDA 12.1版本PyTorch conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y
5.4 方法2: 使用pip安裝CUDA 12.1
# 激活環(huán)境 conda activate pytorch # 安裝CUDA 12.1版本PyTorch pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
5.5 方法3: CUDA 11.8安裝(兼容性?xún)?yōu)先)
# conda安裝 conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y # pip安裝 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
5.6 驗(yàn)證GPU安裝
import torch
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}")
print(f"CUDA版本: {torch.version.cuda}")
print(f"GPU數(shù)量: {torch.cuda.device_count()}")
print(f"當(dāng)前GPU: {torch.cuda.get_device_name(0)}")
# 測(cè)試GPU計(jì)算
if torch.cuda.is_available():
x = torch.randn(3, 3).cuda()
y = torch.randn(3, 3).cuda()
z = torch.mm(x, y)
print("GPU計(jì)算測(cè)試成功!")
print(f"結(jié)果設(shè)備: {z.device}")六、GPU版本PyTorch安裝(AMD ROCm)
注意: ROCm支持主要在Linux平臺(tái),Windows支持有限。
6.1 系統(tǒng)要求
- Linux發(fā)行版: Ubuntu 20.04/22.04, RHEL 8/9
- AMD GPU: Radeon RX 6000系列或Instinct MI系列
- ROCm版本: 5.4.2或更高
6.2 安裝步驟
# 1. 添加ROCm倉(cāng)庫(kù)(Ubuntu示例) wget https://repo.radeon.com/rocm/rocm.gpg.key sudo gpg --dearmor --output /usr/share/keyrings/rocm.gpg /tmp/rocm.gpg.key echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/5.4.2 focal main' | sudo tee /etc/apt/sources.list.d/rocm.list # 2. 安裝ROCm sudo apt update sudo apt install rocm-libs miopen-hip hipfft rccl # 3. 創(chuàng)建并激活conda環(huán)境 conda create -n pytorch-rocm python=3.11 -y conda activate pytorch-rocm # 4. 安裝ROCm版本PyTorch pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.4.2
6.3 驗(yàn)證ROCm安裝
import torch
print(f"PyTorch版本: {torch.__version__}")
print(f"ROCm可用: {torch.cuda.is_available()}") # ROCm也使用cuda接口
print(f"設(shè)備數(shù)量: {torch.cuda.device_count()}")
if torch.cuda.is_available():
print(f"設(shè)備名稱(chēng): {torch.cuda.get_device_name(0)}")
# 測(cè)試計(jì)算
x = torch.randn(1000, 1000).cuda()
y = torch.randn(1000, 1000).cuda()
z = torch.mm(x, y)
print("ROCm計(jì)算測(cè)試成功!")七、Apple Silicon Mac安裝
7.1 步驟1: 創(chuàng)建環(huán)境
# Apple Silicon原生支持 conda create -n pytorch-m1 python=3.11 -y conda activate pytorch-m1
7.2 步驟2: 安裝Metal加速版本
# 安裝支持Metal的PyTorch版本 pip install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu # 或者使用穩(wěn)定版本(自動(dòng)包含Metal支持) pip install torch torchvision torchaudio
7.3 驗(yàn)證Metal加速
import torch
import torch.backends.mps
print(f"PyTorch版本: {torch.__version__}")
print(f"MPS可用: {torch.backends.mps.is_available()}")
print(f"MPS內(nèi)置: {torch.backends.mps.is_built()}")
if torch.backends.mps.is_available():
device = torch.device("mps")
x = torch.randn(3, 3, device=device)
y = torch.randn(3, 3, device=device)
z = torch.mm(x, y)
print("Metal加速測(cè)試成功!")
print(f"結(jié)果設(shè)備: {z.device}")
else:
print("MPS不可用,使用CPU")八、環(huán)境驗(yàn)證與測(cè)試
8.1 完整驗(yàn)證腳本
創(chuàng)建 test_pytorch.py 文件:
#!/usr/bin/env python3
"""
PyTorch環(huán)境完整驗(yàn)證腳本
"""
import torch
import torchvision
import torchaudio
def test_basic():
"""基礎(chǔ)功能測(cè)試"""
print("=" * 50)
print("基礎(chǔ)信息:")
print(f"PyTorch版本: {torch.__version__}")
print(f"TorchVision版本: {torchvision.__version__}")
print(f"Torchaudio版本: {torchaudio.__version__}")
print(f"Python版本: {torch.__version__.split('+')[0]}")
def test_cuda():
"""CUDA/GPU測(cè)試"""
print("\n" + "=" * 50)
print("CUDA/GPU信息:")
if torch.cuda.is_available():
print("? CUDA可用")
print(f"CUDA版本: {torch.version.cuda}")
print(f"GPU數(shù)量: {torch.cuda.device_count()}")
for i in range(torch.cuda.device_count()):
print(f"GPU {i}: {torch.cuda.get_device_name(i)}")
# 測(cè)試GPU計(jì)算
try:
x = torch.randn(1000, 1000).cuda()
y = torch.randn(1000, 1000).cuda()
z = torch.mm(x, y)
print("? GPU計(jì)算測(cè)試通過(guò)")
except Exception as e:
print(f"? GPU計(jì)算測(cè)試失敗: {e}")
else:
print("? CUDA不可用")
def test_mps():
"""Metal Performance Shaders測(cè)試 (Apple Silicon)"""
print("\n" + "=" * 50)
print("Metal Performance Shaders (MPS) 信息:")
if hasattr(torch.backends, 'mps') and torch.backends.mps.is_available():
print("? MPS可用")
device = torch.device("mps")
x = torch.randn(100, 100, device=device)
y = torch.randn(100, 100, device=device)
z = torch.mm(x, y)
print("? MPS計(jì)算測(cè)試通過(guò)")
else:
print("? MPS不可用")
def test_cpu():
"""CPU測(cè)試"""
print("\n" + "=" * 50)
print("CPU信息:")
print(f"CPU線(xiàn)程數(shù): {torch.get_num_threads()}")
# 測(cè)試CPU計(jì)算
x = torch.randn(1000, 1000)
y = torch.randn(1000, 1000)
z = torch.mm(x, y)
print("? CPU計(jì)算測(cè)試通過(guò)")
def test_versions():
"""版本兼容性檢查"""
print("\n" + "=" * 50)
print("版本兼容性檢查:")
# 檢查基本兼容性
required_versions = {
'torch': '2.0.0',
'torchvision': '0.15.0',
'torchaudio': '2.0.0'
}
current_versions = {
'torch': torch.__version__,
'torchvision': torchvision.__version__,
'torchaudio': torchaudio.__version__
}
for package, required in required_versions.items():
current = current_versions[package]
if current >= required:
print(f"? {package}: {current} (>= {required})")
else:
print(f"?? {package}: {current} (< {required})")
if __name__ == "__main__":
test_basic()
test_cuda()
test_mps()
test_cpu()
test_versions()
print("\n" + "=" * 50)
print("環(huán)境驗(yàn)證完成!")運(yùn)行驗(yàn)證腳本:
conda activate pytorch python test_pytorch.py
九、常用深度學(xué)習(xí)庫(kù)安裝
9.1 計(jì)算機(jī)視覺(jué)庫(kù)
# OpenCV conda install opencv -c conda-forge # PIL/Pillow conda install pillow -c conda-forge # Albumentations (數(shù)據(jù)增強(qiáng)) pip install albumentations # Detectron2 (Facebook檢測(cè)框架) pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu118/torch2.0/index.html
9.2 自然語(yǔ)言處理庫(kù)
# Transformers (Hugging Face) pip install transformers # Tokenizers pip install tokenizers # spaCy conda install spacy -c conda-forge python -m spacy download en_core_web_sm # NLTK conda install nltk -c conda-forge
9.3 通用工具庫(kù)
# Jupyter Lab conda install jupyterlab -c conda-forge # Matplotlib (可視化) conda install matplotlib -c conda-forge # Seaborn (統(tǒng)計(jì)可視化) conda install seaborn -c conda-forge # Scikit-learn (機(jī)器學(xué)習(xí)) conda install scikit-learn -c conda-forge # Pandas (數(shù)據(jù)處理) conda install pandas -c conda-forge
9.4 深度學(xué)習(xí)框架擴(kuò)展
# Lightning (簡(jiǎn)化訓(xùn)練流程) pip install pytorch-lightning # Ignite (訓(xùn)練循環(huán)) pip install pytorch-ignite # Captum (可解釋性) pip install captum
十、Jupyter Notebook集成
10.1 步驟1: 安裝Jupyter
# 在PyTorch環(huán)境中安裝 conda activate pytorch conda install jupyter notebook jupyterlab -c conda-forge -y
10.2 步驟2: 創(chuàng)建IPython內(nèi)核
# 安裝ipykernel conda install ipykernel -y # 創(chuàng)建內(nèi)核 python -m ipykernel install --user --name pytorch --display-name "Python (PyTorch)"
10.3 步驟3: 啟動(dòng)Jupyter
# 啟動(dòng)Jupyter Lab(推薦) jupyter lab # 或啟動(dòng)經(jīng)典N(xiāo)otebook jupyter notebook
10.4 步驟4: 驗(yàn)證內(nèi)核
在Jupyter中創(chuàng)建新Notebook,選擇"Python (PyTorch)"內(nèi)核,運(yùn)行:
import torch
print(f"PyTorch版本: {torch.__version__}")
print(f"設(shè)備: {torch.device('cuda' if torch.cuda.is_available() else 'cpu')}")
10.5 高級(jí)配置(可選)
# 配置Jupyter默認(rèn)目錄 jupyter notebook --generate-config # 編輯 ~/.jupyter/jupyter_notebook_config.py # c.NotebookApp.notebook_dir = '/path/to/your/notebooks' # 設(shè)置密碼 jupyter notebook password
十一、環(huán)境導(dǎo)出與遷移
11.1 導(dǎo)出環(huán)境配置
# 激活環(huán)境 conda activate pytorch # 導(dǎo)出完整環(huán)境(包含構(gòu)建信息) conda env export > pytorch_environment.yml # 導(dǎo)出僅包名和版本(更便攜) conda env export --no-builds > pytorch_environment_no_builds.yml # 導(dǎo)出pip風(fēng)格的requirements.txt pip freeze > requirements.txt
11.2 環(huán)境文件示例
pytorch_environment.yml 內(nèi)容:
name: pytorch
channels:
- pytorch
- nvidia
- conda-forge
- defaults
dependencies:
- python=3.11.8
- pytorch=2.2.0
- torchvision=0.17.0
- torchaudio=2.2.0
- pytorch-cuda=12.1
- jupyterlab=4.0.11
- matplotlib=3.8.3
- pandas=2.2.1
- pip
- pip:
- transformers==4.38.2
- albumentations==1.4.3
prefix: /home/user/anaconda3/envs/pytorch11.3 在新機(jī)器上重建環(huán)境
# 方法1: 使用environment.yml conda env create -f pytorch_environment.yml # 方法2: 手動(dòng)創(chuàng)建并安裝 conda create -n pytorch python=3.11 -y conda activate pytorch conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y pip install -r requirements.txt
11.4 跨平臺(tái)遷移注意事項(xiàng)
- 移除prefix行: 編輯yml文件,刪除最后一行
prefix: ... - 使用–no-builds: 導(dǎo)出時(shí)不包含平臺(tái)特定的構(gòu)建信息
- 測(cè)試兼容性: 在目標(biāo)平臺(tái)上重新驗(yàn)證
十二、常見(jiàn)問(wèn)題與解決方案
12.1 Q1: 安裝后import torch報(bào)錯(cuò)
錯(cuò)誤信息: ImportError: DLL load failed (Windows) 或 libtorch_cuda.so: cannot open shared object file (Linux)
解決方案:
# 重新安裝,確保版本匹配 conda activate pytorch conda uninstall pytorch torchvision torchaudio conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y
12.2 Q2: CUDA不可用但GPU存在
可能原因: 驅(qū)動(dòng)版本不匹配或CUDA版本不兼容
解決方案:
# 檢查驅(qū)動(dòng)和CUDA版本 nvidia-smi # 根據(jù)輸出選擇正確的PyTorch CUDA版本 # 例如: nvidia-smi顯示CUDA 12.2 → 安裝CUDA 12.1的PyTorch(向下兼容)
12.3 Q3: 內(nèi)存不足錯(cuò)誤
錯(cuò)誤信息: RuntimeError: CUDA out of memory
解決方案:
# 在代碼開(kāi)頭添加內(nèi)存清理
import torch
torch.cuda.empty_cache()
# 或減少batch size
# 或使用混合精度訓(xùn)練
from torch.cuda.amp import autocast
with autocast():
# your model forward pass12.4 Q4: conda安裝速度慢
解決方案: 配置國(guó)內(nèi)鏡像源
# 添加清華鏡像源 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
12.5 Q5: Jupyter找不到PyTorch內(nèi)核
解決方案:
# 重新安裝ipykernel conda activate pytorch pip install --force-reinstall ipykernel python -m ipykernel install --user --name pytorch --display-name "Python (PyTorch)"
12.6 Q6: Apple Silicon性能不佳
解決方案:
# 確保使用MPS設(shè)備
device = torch.device("mps" if torch.backends.mps.is_available() else "cpu")
# 對(duì)于某些操作,CPU可能更快
# 可以比較MPS和CPU性能
import time
# MPS測(cè)試
start = time.time()
x = torch.randn(10000, 10000, device='mps')
y = torch.randn(10000, 10000, device='mps')
z = torch.mm(x, y)
mps_time = time.time() - start
# CPU測(cè)試
start = time.time()
x = torch.randn(10000, 10000)
y = torch.randn(10000, 10000)
z = torch.mm(x, y)
cpu_time = time.time() - start
print(f"MPS時(shí)間: {mps_time:.4f}s, CPU時(shí)間: {cpu_time:.4f}s")十三、性能優(yōu)化建議
13.1 使用正確的數(shù)據(jù)類(lèi)型
# 使用float32而不是float64(默認(rèn)) tensor = torch.randn(1000, 1000, dtype=torch.float32) # 對(duì)于整數(shù)標(biāo)簽,使用int64 labels = torch.randint(0, 10, (1000,), dtype=torch.long)
13.2 啟用cuDNN自動(dòng)調(diào)優(yōu)
# 在訓(xùn)練開(kāi)始前添加 torch.backends.cudnn.benchmark = True torch.backends.cudnn.deterministic = False
13.3 使用DataLoader優(yōu)化
from torch.utils.data import DataLoader
dataloader = DataLoader(
dataset,
batch_size=32,
shuffle=True,
num_workers=4, # 根據(jù)CPU核心數(shù)調(diào)整
pin_memory=True, # GPU訓(xùn)練時(shí)啟用
prefetch_factor=2 # 預(yù)取數(shù)據(jù)
)13.4 混合精度訓(xùn)練
from torch.cuda.amp import GradScaler, autocast
scaler = GradScaler()
for data, target in dataloader:
optimizer.zero_grad()
with autocast():
output = model(data)
loss = criterion(output, target)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()13.5 內(nèi)存優(yōu)化
# 及時(shí)刪除不需要的變量
del large_tensor
torch.cuda.empty_cache()
# 使用上下文管理器
with torch.no_grad():
# 推理時(shí)禁用梯度計(jì)算
output = model(input)13.6 環(huán)境變量?jī)?yōu)化(Linux)
# 在~/.bashrc中添加 export OMP_NUM_THREADS=1 export MKL_NUM_THREADS=1 export NUMEXPR_NUM_THREADS=1 # 減少多線(xiàn)程沖突
十四、附錄:快速參考命令
14.1 環(huán)境管理
# 創(chuàng)建環(huán)境 conda create -n pytorch python=3.11 -y # 激活/停用環(huán)境 conda activate pytorch conda deactivate # 刪除環(huán)境 conda env remove -n pytorch # 列出所有環(huán)境 conda env list
14.2 PyTorch安裝
# CPU版本 conda install pytorch torchvision torchaudio cpuonly -c pytorch -y # CUDA 12.1版本 conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia -y # CUDA 11.8版本 conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia -y
14.3 環(huán)境導(dǎo)出
# 導(dǎo)出環(huán)境 conda env export > environment.yml # 重建環(huán)境 conda env create -f environment.yml
14.4 驗(yàn)證命令
# 快速驗(yàn)證 python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
重要提醒: 定期更新PyTorch和相關(guān)庫(kù)以獲得最新功能和安全修復(fù)。使用conda update --all或pip install --upgrade torch torchvision torchaudio進(jìn)行更新。
以上就是在Anaconda中配置PyTorch環(huán)境的完整流程的詳細(xì)內(nèi)容,更多關(guān)于Anaconda配置PyTorch環(huán)境的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python控制臺(tái)實(shí)現(xiàn)tab補(bǔ)全和清屏的例子
今天小編就為大家分享一篇python控制臺(tái)實(shí)現(xiàn)tab補(bǔ)全和清屏的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
python使用dlib進(jìn)行人臉檢測(cè)和關(guān)鍵點(diǎn)的示例
這篇文章主要介紹了python使用dlib進(jìn)行人臉檢測(cè)和關(guān)鍵點(diǎn)的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-12-12
python如何實(shí)現(xiàn)異步調(diào)用函數(shù)執(zhí)行
這篇文章主要介紹了python如何實(shí)現(xiàn)異步調(diào)用函數(shù)執(zhí)行,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
python中drop_duplicates()函數(shù)的具體使用
本文主要介紹了python中drop_duplicates()函數(shù)的具體使用,介紹了其四個(gè)核心參數(shù)subset、keep、inplace和ignore_index,具有一定的參考價(jià)值,感興趣的可以了解一下2026-04-04
淺談python requests 的put, post 請(qǐng)求參數(shù)的問(wèn)題
今天小編就為大家分享一篇淺談python requests 的put, post 請(qǐng)求參數(shù)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例
這篇文章主要為大家介紹了python manim實(shí)現(xiàn)排序算法動(dòng)畫(huà)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
python opencv對(duì)圖像進(jìn)行旋轉(zhuǎn)且不裁剪圖片的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python opencv對(duì)圖像進(jìn)行旋轉(zhuǎn)且不裁剪圖片的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Pytorch中torch.flatten()和torch.nn.Flatten()實(shí)例詳解
這篇文章主要給大家介紹了關(guān)于Pytorch中torch.flatten()和torch.nn.Flatten()的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02
Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS淺析
這篇文章主要給大家介紹了關(guān)于Django中STATIC_ROOT和STATIC_URL及STATICFILES_DIRS的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-05-05

