?
-
1. ? 創建并激活 Conda 環境(Python 3.8)
-
conda create -n modelscope python=3.8 -yconda activate modelscope
-
2.? 安裝了 PyTorch(CPU 版本)
-
如果你是 CPU-only 用戶(沒有 NVIDIA 顯卡 或不想用 GPU):
conda install pytorch torchvision torchaudio cpuonly -c pytorch
驗證安裝是否成功
進入 Python shell:python
然后測試一下:import torch print(torch.__version__) print(torch.cuda.is_available()) ?# True 表示 GPU 可用
-
3.? 安裝了 TensorFlow
-
? 環境名是
modelscope
4.現在你想在本地使用 modelscope 來進行文本生成視頻(Text-to-Video)。
遇到的問題:
1.No module named 'sortedcontainers'Exce
pip install sortedcontainers
Traceback (most recent call last):
? File "text-to-video.py", line 7, in <module>
? ? pipe = pipeline('text-to-video-synthesis', model='damo/text-to-video-synthesis')
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/pipelines/builder.py", line 151, in pipeline
? ? model = normalize_model_input(
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/pipelines/builder.py", line 39, in normalize_model_input
? ? model = snapshot_download(
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/hub/snapshot_download.py", line 108, in snapshot_download
? ? return _snapshot_download(
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/hub/snapshot_download.py", line 289, in _snapshot_download
? ? _download_file_lists(
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/hub/snapshot_download.py", line 540, in _download_file_lists
? ? _download_single_file(filtered_repo_files)
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/utils/thread_utils.py", line 66, in wrapper
? ? results.append(future.result())
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/concurrent/futures/_base.py", line 437, in result
? ? return self.__get_result()
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
? ? raise self._exception
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/concurrent/futures/thread.py", line 57, in run
? ? result = self.fn(*self.args, **self.kwargs)
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/hub/snapshot_download.py", line 527, in _download_single_file
? ? download_file(
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/hub/file_download.py", line 691, in download_file
? ? file_digest = http_get_model_file(
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/modelscope/hub/file_download.py", line 582, in http_get_model_file
? ? retry = retry.increment('GET', url, error=e)
? File "/home/powersys/miniconda3/envs/modelscope/lib/python3.8/site-packages/urllib3/util/retry.py", line 519, in increment
? ? raise MaxRetryError(_pool, url, reason) from reason ?# type: ignore[arg-type]
urllib3.exceptions.MaxRetryError: None: Max retries exceeded with url: https://www.modelscope.cn/api/v1/models/damo/text-to-video-synthesis/repo?Revision=v1.1.0&FilePath=text2video_pytorch_model.pth (Caused by OSError(28, 'No space left on device'))
from modelscope.pipelines import pipeline
from modelscope.outputs import OutputKeys
from modelscope.models import Model
import os# 文生視頻 pipeline
pipe = pipeline('text-to-video-synthesis', model='/home/powersys/work/miniconda/damo/text-to-video-synthesis')# 指定輸出路徑
output = pipe({'text': 'A panda is eating bamboo'}) # 你可以替換成中文,如 "一個小貓在跳舞"print('輸出視頻路徑:', output[OutputKeys.OUTPUT_VIDEO])
在線下載呢?但是在線下載的路徑要指定到/home/powersys/work/miniconda/ 這個路徑來
要在線下載 ModelScope 模型,并將模型緩存到你指定的目錄 /home/powersys/work/miniconda/
,可以通過設置環境變量 MODELSCOPE_CACHE
來實現。
? 一步一步操作指南
? 第一步:設置緩存路徑
執行以下命令,將 ModelScope 的緩存路徑指定為 /home/powersys/work/miniconda
:
export MODELSCOPE_CACHE=/home/powersys/work/miniconda
?? 注意:每次重啟終端后都要重新設置一次,或者寫入
.bashrc
文件中持久保存:
echo 'export MODELSCOPE_CACHE=/home/powersys/work/miniconda' >> ~/.bashrc source ~/.bashrc
from modelscope.pipelines import pipeline
from modelscope.outputs import OutputKeys
from modelscope.models import Model
import os# 文生視頻 pipeline
pipe = pipeline('text-to-video-synthesis', model='damo/text-to-video-synthesis')# 指定輸出路徑
output = pipe({'text': 'A panda is eating bamboo'}) # 你可以替換成中文,如 "一個小貓在跳舞"print('輸出視頻路徑:', output[OutputKeys.OUTPUT_VIDEO])