Anaconda是什么? Anaconda 是一個開源的 Python 發(fā)行版本,主要面向數(shù)據(jù)科學(xué)、機器學(xué)習(xí)和數(shù)據(jù)分析等領(lǐng)域。它不僅包含了 Python 解釋器本身,更重要的是集成了大量的用于科學(xué)計算、數(shù)據(jù)分析和機器學(xué)習(xí)相關(guān)的第三方庫,并且提供了一個強大的包管理和環(huán)境管理工具——Conda。 通過C
Anaconda 是一個開源的 Python 發(fā)行版本,主要面向數(shù)據(jù)科學(xué)、機器學(xué)習(xí)和數(shù)據(jù)分析等領(lǐng)域。它不僅包含了 Python 解釋器本身,更重要的是集成了大量的用于科學(xué)計算、數(shù)據(jù)分析和機器學(xué)習(xí)相關(guān)的第三方庫,并且提供了一個強大的包管理和環(huán)境管理工具——Conda。
通過Conda可以在一臺電腦上,創(chuàng)建多個python的環(huán)境,非常自由的進行切換。
以下是 Anaconda 的主要特點和功能:
便捷的環(huán)境管理:Anaconda 通過其內(nèi)置的包管理器 Conda,使得創(chuàng)建、管理和切換不同的 Python 環(huán)境變得極為簡單。用戶可以在不同項目之間輕松配置獨立的環(huán)境,每個環(huán)境中可以安裝特定版本的 Python 和其他庫,避免了不同項目依賴之間的沖突。
豐富的數(shù)據(jù)科學(xué)工具:安裝 Anaconda 時會附帶一系列常用的數(shù)據(jù)科學(xué)庫,如 NumPy、Pandas、Matplotlib、Scikit-learn 等,以及 Jupyter Notebook 這樣的交互式開發(fā)環(huán)境。還包括其他有用的工具,例如 Spyder IDE(集成開發(fā)環(huán)境)和 IPython 終端等,這些都為數(shù)據(jù)科學(xué)家提供了開箱即用的一站式解決方案。
高效的包管理:Conda 不僅可以管理 Python 包,還能管理非 Python 軟件包,如R語言相關(guān)包或 C/C++ 編譯器等。Conda 能夠智能地解決復(fù)雜的軟件依賴關(guān)系,確保所有庫和組件都能正確安裝和協(xié)同工作,極大地提高了開發(fā)效率。
跨平臺支持:Anaconda 支持 Windows、Linux 和 MacOS 等多種操作系統(tǒng),便于在不同的開發(fā)平臺上統(tǒng)一使用和部署。
https://www.anaconda.com/download/success
這是anaconda的官網(wǎng)下載地址
這里要注意python的版本,盡量跟它保持一致,點擊下載之后,如果網(wǎng)絡(luò)好的話等待一會兒就下載完畢了。
下載完畢后,打開exe進行安裝
這里安裝時間可能會久一些,請多耐心等待一會兒吧。
確實等了蠻久的時間的,但具體忘記了,可能大致在15-20分鐘左右吧,千等萬等終于安裝成功了
此時用命令行來查看還是不行的,因為沒有配置環(huán)境變量
以此點擊:我的電腦=> 右鍵屬性=>高級系統(tǒng)設(shè)置=>環(huán)境變量=> Path =>編輯
將下面的五個路徑添加到 Path中去
注意替換成你的安裝路徑
D:\ProgramData\anaconda3
D:\ProgramData\anaconda3\Scripts
D:\ProgramData\anaconda3\Library\mingw-w64\bin
D:\ProgramData\anaconda3\Library\usr\bin
D:\ProgramData\anaconda3\Library\bin
點擊三次確定之后,再在命令行中運行
這樣說明真正的安裝成功了,下面再來看看如何使用
// 查看版本
conda -V
// 查看安裝了那些包
conda list
//查看當前存在哪些虛擬環(huán)境
conda env list 或 conda info -e
//檢查更新當前conda
conda update conda
// 使用conda安裝python依賴
conda install xxxx
因為我之前電腦上安裝的就是3.11.2的版本,所以在這里直接繼續(xù)指定python版本為3.11.2
conda create -n python3112 python=3.11.2
此時可以查看window電腦上擁有那些虛擬環(huán)境
conda env list
激活環(huán)境
conda activate python3112
首次執(zhí)行上面的命令可能需要使用
conda init
,執(zhí)行完畢后關(guān)閉當前shell腳本命令,再重新打開執(zhí)行激活環(huán)境的命令
退出虛擬環(huán)境
conda deactivate
注意:看上面我是直接在CMD下使用的命令,比如如果你想在git bash下運行conda的話
echo ". /d/ProgramData/anaconda3/etc/profile.d/conda.sh" >>~/.profile
上面替換成自己的安裝目錄,執(zhí)行完畢之后,關(guān)閉命令窗口,重新打開一個新的便可以執(zhí)行 conda命令了
conda安裝成功之后,安裝依賴盡量使用conda 來,就不要使用pip了
初始使用了幾天的conda,感覺還不錯
首先使用 cmd 命令行輸入 nvidia-smi ,在第一行最右邊可以看到CUDA的版本號,我的版本是12.3
https://pytorch.org/get-started/locally/
打開網(wǎng)址選擇一個比較靠近的版本
最終選擇完生成命令為
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
如果有卡住的可能就是網(wǎng)絡(luò)有問題了,可以直接到鏡像源進行下載安裝 https://download.pytorch.org/whl/torch_stable.html
這里也需要你的耐心等待喲,因為Pytorch 的安裝包還是不小的。
多等一會兒,出現(xiàn)done則代表安裝成功了,然后在命令行中輸入pip list則可以看到torch相關(guān)的包都安裝了
CUDA是什么:CUDA是NVIDIA推出的一種編程技術(shù)。它允許開發(fā)者使用C語言來編寫能在NVIDIA的圖形處理器上運行的代碼。通過CUDA,開發(fā)者可以將GPU用于通用的并行計算,大大提高了計算效率。
CUDA的一個重要特點是,它允許軟件開發(fā)者直接使用NVIDIA的GPU來執(zhí)行某些計算密集型的任務(wù)。這是因為GPU內(nèi)部有許多并行處理單元,可以同時執(zhí)行許多計算任務(wù),從而大大提高了計算速度。
另外,CUDA還提供了一套完整的開發(fā)工具鏈,包括編譯器、調(diào)試器和性能分析器,使得開發(fā)者可以更方便地開發(fā)和優(yōu)化CUDA程序。
接下來直接驗證CUDA是否可用,直接繼續(xù)命令行中輸入 python
import torch
torch.cuda.is_available()
如果輸出為true則代表可以使用GPU顯卡了
import whisper
from whisper.utils import get_writer
import os
import time
import torch
import os #引用OS
from faster_whisper import WhisperModel
import whisperx
import gc
def whisperx_test():
device = "cpu"
model_size = "large-v3"
audio_file = "test.mp4"
batch_size = 16
compute_type = "int8"
# widnow CPU
model = whisperx.load_model("large-v3", device, compute_type=compute_type)
# window GPU
# model = whisperx.load_model("large-v3", "cuda", compute_type="float16")
audio = whisperx.load_audio(audio_file)
result = model.transcribe(audio, batch_size=batch_size)
print(result["segments"])
def faster_whisper_test():
model_size = "large-v3"
## window cpu
model = WhisperModel(model_size, device="cpu", compute_type="int8", cpu_threads=16)
# window gpu
# model = WhisperModel(model_size, device="cuda", compute_type="float16")
segments, info = model.transcribe("test.mp4", beam_size = 5)
print("Detected language '%s' with probability %f" % (info.language, info.language_probability))
for segment in segments:
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
def whisper_test():
os.environ['KMP_DUPLICATE_LIB_OK'] = 'TRUE'
filename = "test.mp4"
## window GPU cuda
## window CPU cpu
## mac CPU cpu
## mac GPU
model = whisper.load_model("large-v3",device="cuda")
result = model.transcribe(audio=filename, fp16 =False)
output_directory = "."
word_options = {
"highlight_words": True,
"max_line_count": 50,
"max_line_width": 3
}
srt_writer = get_writer("srt", output_directory)
srt_writer(result, filename, word_options)
if __name__ == "__main__":
# print(torch.cuda.is_available())
start_time = time.time() # 開始時間
print("start time:", start_time)
# whisper_test()
# faster_whisper_test()
whisperx_test()
end_time = time.time() # 結(jié)束時間
print("Execution time: ", end_time - start_time, "seconds")
三個開源項目的地址分別是:
根據(jù)代碼要進行安裝依賴,也是我從三個開源項目的readme中可以找到安裝依賴的命令
// 安裝openai-whisper
pip install -U openai-whisper --user
//或者
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
// 安裝faster-whisper
pip install faster-whisper
//或者
pip install git+https://github.com/openai/whisper.git
//安裝whisperx
pip install git+https://github.com/m-bain/whisperx.git
//如果運行后,看到ffmpeg not found
要記得安裝一下ffmpeg
當然上面的pip也可以換成conda
準備了三個方法
根據(jù)測試情況進行注釋上述方法即可,運行如下命令即開啟測試
python main.py
在這里先附上我的電腦配置,其實是比較一般的
沒進行測試的時候GPU的占用其實很少的,如果一旦開啟了GPU測試就可以看到下圖所示的GPU內(nèi)存占用
最終在GPU運行的情況下,我測試了三次
window-whisper-GPU:大致平均150秒
同樣,再使用CPU的情況下,測試了三次
看來我這個GPU顯卡還是非常一般的,竟然沒有CPU的快
window-whisper-CPU:大致平均100秒
同樣分三次進行測試大致也就是50秒左右,在GPU的情況下,內(nèi)存占用居然比whisper的少了近一半,難道速度也能提升一半嗎?
window-faster-whisper-GPU: 大致平均50秒左右
沒想到真的提升了速度,而且不止一半,真不錯
同樣的CPU接近100%了,但是內(nèi)存好像比原來少了差不多一半
window-faster-whisper-CPU: 大致平均50秒左右
GPU 測試三次
window-whisperX-GPU: 大致平均36秒左右
CPU 測試三次
window-faster-whisperX-CPU: 大致平均43秒左右
沒想到的是whisperx在faster-whisper的基礎(chǔ)上還有提升
本來還想繼續(xù)在mac上測試,發(fā)現(xiàn)除了openai的whisper能在CPU下運行,其他的跑起來都有問題,可能也是我自己的問題吧
mac-openai-whisper-CPU:大致50秒左右
這是自Mac M1 Pro上做的測試
我只是進行簡單的測試做了一個對比。mac的CPU還是非常強大的,當然了價格也擺在了那里。
我這里測試的時候也沒有進行過多的參數(shù)調(diào)整,有時間的話可以進行比如 int8、float16、float32等等其他的多組測試數(shù)據(jù)。
接下來看看有機會再來試試另外兩個開源模型
機器學(xué)習(xí):神經(jīng)網(wǎng)絡(luò)構(gòu)建(下)
閱讀華為Mate品牌盛典:HarmonyOS NEXT加持下游戲性能得到充分釋放
閱讀實現(xiàn)對象集合與DataTable的相互轉(zhuǎn)換
閱讀算法與數(shù)據(jù)結(jié)構(gòu) 1 - 模擬
閱讀5. Spring Cloud OpenFeign 聲明式 WebService 客戶端的超詳細使用
閱讀Java代理模式:靜態(tài)代理和動態(tài)代理的對比分析
閱讀Win11筆記本“自動管理應(yīng)用的顏色”顯示規(guī)則
閱讀本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權(quán),請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)