Windows避坑部署SkyworkAI/SkyReels-V2昆侖萬維電影生成模型

#工作記錄

前言

SkyworkAI/SkyReels-V2 是由昆侖萬維開源的全球首個無限時長電影生成模型,基于擴散強迫框架結合多模態大語言模型、強化學習等技術,支持文本到視頻、圖像到視頻等多種生成方式

開源項目地址:

SkyworkAI/SkyReels-V2:SkyReels-V2:無限長膠片生成模型

一般建議Linux系統或WSL部署可能較為順利,因為Windows中部署有些小坑要踩,本文將詳細記錄避坑部署的流程和步驟。

前提條件:

請提前準備好python開發基礎環境

請提前準備好網絡環境

請提前完整克隆項目源代碼到本地

本文中用于演示的編輯器是PyCharm社區版

下邊進入部署步驟:

一、新建虛擬環境,python=3.10

在PyCharm中,用項目的requirement新建python版本為3.10的本地.venv虛擬環境:

如果出現以下彈窗是正常的,不用著急:

requirements.txt安裝失敗,但環境創建成功:

?關閉彈窗,按提示先升級pip和相關構建包

二、升級pip、setuptools、wheel

激活并進入創建的虛擬環境終端:

python -m pip install --upgrade pip setuptools wheel

三、修改?requirements.txt文件

?requirements.txt文件原內容:

torch==2.5.1
torchvision==0.20.1
opencv-python==4.10.0.84
diffusers>=0.31.0
transformers==4.49.0
tokenizers==0.21.1
accelerate==1.6.0
tqdm
imageio
easydict
ftfy
dashscope
imageio-ffmpeg
flash_attn
numpy>=1.23.5,<2
xfuser

修改后的?requirements.txt文件內容:

#torch==2.5.1
#torchvision==0.20.1
opencv-python==4.10.0.84
diffusers>=0.31.0
transformers==4.49.0
tokenizers==0.21.1
accelerate==1.6.0
tqdm
imageio
easydict
ftfy
dashscope
imageio-ffmpeg
#flash_attn
numpy>=1.23.5,<2
xfuser

具體修改的地方是:

1、注釋掉第1行和第2行,改為手動安裝torch;

小坑1:

用原始的 requirements.txt文件安裝的torch不完整,文件列表中缺少?torchaudio,如若安裝后將只能使用CPU而不能調用GPU支持。

因為torch==2.5.1和?torchvision==0.20.1 需要?torchaudio==2.5.1,這三個包必須一起在虛擬環境中按版本兼容安裝,而且最好指定CUDA版本,比如CUDA11.8/CUDA12.1/CUDA12.4等。

后邊將會記錄到到PyTorch官網查找命令進行安裝。

2、注釋掉第14行,改為手動安裝flash_attn;

小坑2:

在Windows中直接安裝flash_attn大概率會在安裝編譯中失敗,改為下載大佬已編譯的whl文件從本地安裝。

三、安裝修改后的?requirements.txt文件

pip install requirements.txt

一般修改后能順利完成安裝。?

四、安裝Torch

(一)進入PyTorch官網:

PyTorch 插件

(二)進入“開始使用(Get started)”:

(三)進入“以前的PyTorch版本”:

(四)查找安裝命令:

在PyTorch官網這個界面中按CTRL+F打開搜索框搜索“torch==2.5.1”(復制自?requirements.txt 文件中被注釋掉的torch版本“torch==2.5.1”文本)

(五)復制安裝命令

如果想安裝CUDA11.8版支持的:

# CUDA 11.8
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1  pytorch-cuda=11.8 -c pytorch -c nvidia

?如果想安裝CUDA12.1版支持的:

# CUDA 12.1
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.1 -c pytorch -c nvidia

?如果想安裝CUDA12.4版支持的:?

# CUDA 12.4
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia

(六)安裝torch

復制到虛擬環境的終端中執行,比如CUDA12.4的:

# CUDA 12.4
conda install pytorch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 pytorch-cuda=12.4 -c pytorch -c nvidia

(七)驗證torch的安裝

用以下完整的命令,在python環境驗證安裝:

import torch  # 導入 PyTorch 庫print("PyTorch 版本:", torch.__version__)  # 打印 PyTorch 的版本號# 檢查 CUDA 是否可用,并設置設備("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("設備:", device)  # 打印當前使用的設備
print("CUDA 可用:", torch.cuda.is_available())  # 打印 CUDA 是否可用
print("cuDNN 已啟用:", torch.backends.cudnn.enabled)  # 打印 cuDNN 是否已啟用# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())# 創建兩個隨機張量(默認在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)# 將張量移動到指定設備(CPU 或 GPU)
x = x.to(device)
y = y.to(device)# 對張量進行逐元素相加
z = x + y# 打印結果
print("張量 z 的值:")
print(z)  # 輸出張量 z 的內容

?

五、安裝flash_attn

(一)下載flash_attn

因為直接pip安裝flash_attn大概率安裝失敗,所以思路是搜索并下載一個對應python版本和torch、CUDA版本的whl文件,從本地安裝:

注意3個細節:

CUDA12.4

torch==2.5.1

python=3.10

開源下載地址:

發布 ·kingbri1/flash-attention

(二)移動flash_attn到項目文件夾

下載后放入項目文件夾內

(三)安裝flash_attn

pip install+文件名

pip install flash_attn-2.7.4.post1+cu124torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl

安裝后?requirements.txt文件安裝完成。

六、下載模型

可以用Huggingface或modelscope兩種方式的其中之一。

請根據系統配置選擇適合的模型。

下載過程容易產生錯誤,所以單獨舉例記錄下來。

(一)?Huggingface 下載

?1、進入模型頁面

這里演示用?Huggingface 下載

點擊進入項目README.MD提供的Huggingface鏈接:

比如Diffusion Forcing 1.3B-540P:

2、進到模型文件界面

?3、點擊右上角查看下載方式

4、執行命令下載?

復制以下命令在項目虛擬環境的終端中執行:

git lfs install
git clone https://huggingface.co/Skywork/SkyReels-V2-DF-1.3B-540P

(二)modelscope下載

?1、進入模型頁面

這里演示用?Huggingface 下載

點擊進入項目README.MD提供的Huggingface鏈接:

比如Diffusion Forcing 1.3B-540P:

2、進到模型文件界面?

?3、點擊右上角查看下載方式

?

4、創建儲存目錄

在本地新建模型儲存文件夾“SkyReels-V2-DF-1.3B-540P”

mkdir SkyReels-V2-DF-1.3B-540P

5、修改下載命令用于下載到指定路徑:

修改下載命令,指定下載路徑:

modelscope模型官網原命令:?

modelscope download --model Skywork/SkyReels-V2-DF-1.3B-540P

修改后命令:

指定完整的模型文件下載到項目目錄下的?剛新建的“SkyReels-V2-DF-1.3B-540P”文件夾:

modelscope download --model Skywork/SkyReels-V2-DF-1.3B-540P --local_dir ./SkyReels-V2-DF-1.3B-540P
?如果不指定路徑直接使用官方命令

?如果不指定路徑直接使用官方命令的話,模型文件會下載到C盤,導致C盤空間緊張:

?C:\Users\love\.cache\modelscope\hub\models

七、安裝其他軟件包

?以下兩個庫在requirements.txt文件中沒有列出來,但缺少會導致運行錯誤

pip install addict

也可以用PyCharm中的安裝功能安裝:?

pip install datasets==2.16.0

?注:如果要指定版本,則不建議使用PyCharm中的安裝功能進行安裝,而是手動用命令進行安裝。

八、運行項目

(一)創建輸出目錄

在項目目錄創建一個視頻輸出目錄,用于參數指定并保存輸出視頻。

創建名為output的目錄:

mkdir output

(二)創建運行腳本

1、我們先仔細查看官方命令示例:

然后以第一個運行命令為例,來運行以檢驗部署情況:

model_id=Skywork/SkyReels-V2-DF-14B-540P
# synchronous inference
python3 generate_video_df.py \
? --model_id ${model_id} \
? --resolution 540P \
? --ar_step 0 \
? --base_num_frames 97 \
? --num_frames 257 \
? --overlap_history 17 \
? --prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." \
? --addnoise_condition 20 \
? --offload \
? --teacache \
? --use_ret_steps \
? --teacache_thresh 0.3

由于命令參數太多了,而且也不是可直接運行的命令(在Windows系統上),我們可以創建一個.py文件,以在項目虛擬環境終端中運行(Windows cmd和powershell命令有差異,請注意用AI進行轉換) 。

2、創建 Python 腳本

我們可以將這些命令封裝到一個 Python 腳本中,這樣就可以直接運行該腳本而無需手動在命令行中輸入這些復雜的命令。

以下是一個示例 Python 腳本的示例,它會自動設置變量并調用項目中的?generate_video_df.py 腳本文件。

創建 Python 腳本
2.1、創建一個名為 run_video_generation.py 的文件

在PyCharm中,目錄窗口處右鍵新建一個.py文件,并將以下內容復制到文件中:

# run_video_generation.pyimport subprocess
import sys
import osdef run_command(command):try:subprocess.run(command, check=True, shell=True)except subprocess.CalledProcessError as e:print(f"Error: {e}")sys.exit(1)if __name__ == "__main__":# 設置模型 IDmodel_id = "SkyReels-V2-DF-1.3B-540P"# 設置輸出路徑output_path = "./output/generated_video.mp4"# 確保輸出目錄存在output_dir = os.path.dirname(output_path)if not os.path.exists(output_dir):os.makedirs(output_dir)# 構建命令command = f"""python3 generate_video_df.py ^--model_id {model_id} ^--resolution 540P ^--ar_step 0 ^--base_num_frames 97 ^--num_frames 257 ^--overlap_history 17 ^--prompt "A graceful white swan with a curved neck and delicate feathers swimming in a serene lake at dawn, its reflection perfectly mirrored in the still water as mist rises from the surface, with the swan occasionally dipping its head into the water to feed." ^--addnoise_condition 20 ^--offload ^--teacache ^--use_ret_steps ^--teacache_thresh 0.3 ^--output_path "{output_path}""""# 運行命令print("Running video generation command...")run_command(command)print(f"Video generation completed successfully. Video saved to: {output_path}")
2.2、保存文件

將文件保存為 run_video_generation.py,并確保它位于與 generate_video_df.py 同一目錄下(例如 F:\PythonProjects\SkyReels-V2)。

2.3、運行腳本
python run_video_generation.py

2.4、腳本說明
  • subprocess.run
    • 用于在 Python 腳本中運行外部命令。

    • check=True 會確保如果命令失敗,腳本會拋出異常并退出。

    • shell=True 允許我們在一個字符串中編寫命令,就像在命令行中一樣。

  • 命令格式
    • 在 Windows 中,我們使用 ^ 作為換行符。

    • 使用 Python 的 f-string 來插入變量(如 model_id)。

2.5、注意事項
  • 終端版本

CMD和powershell中命令不同、連接符也不同,請使用AI工具進行轉換。

  • Python 版本
    確保您使用的是 Python 3.10?或更高版本,因為 f-string 是從 Python 3.6 開始引入的。
  • 路徑問題

如果 generate_video_df.py 位于其他目錄,我們需要提供完整的路徑,例如

command = f"F:\\PythonProjects\\SkyReels-V2\\generate_video_df.py ^"
  • ???????權限問題

確保我們有權限運行 generate_video_df.py 腳本

通過這種方式,我們可以避免手動輸入復雜的命令,直接運行一個簡單的 Python 腳本即可完成視頻生成任務。

希望這能幫助我們部署的項目順利運行!?

總結

關鍵步驟總結

  1. 新建虛擬環境:在 PyCharm 中創建 Python 3.10 的虛擬環境 .venv

  2. 升級依賴:激活虛擬環境并升級 pipsetuptoolswheel

  3. 修改 requirements.txt:注釋掉 torchtorchvisionflash_attn 的安裝行,手動安裝這些依賴。

  4. 安裝修改后的依賴:運行 pip install -r requirements.txt 安裝依賴。

  5. 安裝 PyTorch:從 PyTorch 官網查找并安裝適合的 PyTorch 版本。

  6. 安裝 flash_attn:下載并安裝適合的 flash_attn.whl 文件。

  7. 下載模型:使用 Hugging Face 或 ModelScope 下載模型到指定路徑。

  8. 安裝其他軟件包:手動安裝 addictdatasets 等未列出但必需的包。

  9. 運行項目:創建輸出目錄并編寫運行腳本 run_video_generation.py,封裝命令并運行。

補充說明

這是在Windows系統避坑部署過程,最終視頻 SkyworkAI/SkyReels-V2 的使用命令還需要進一步調試。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77555.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77555.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77555.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iVX 圖形化編程如何改寫后端開發新范式

在數字化轉型加速推進的當下&#xff0c;企業對后端系統的需求呈現爆發式增長。Gartner 最新報告指出&#xff0c;2025 年全球企業平均需完成 300 定制化應用開發&#xff0c;而傳統編碼模式下&#xff0c;單個項目平均交付周期長達 6 - 8 個月。與此同時&#xff0c;Redis、K…

策略模式:靈活的算法封裝與切換

策略模式是一種行為型設計模式&#xff0c;它將一組算法封裝成獨立的類&#xff0c;使它們可以相互替換。策略模式讓算法的變化獨立于使用算法的客戶端。本文將以一個收銀系統為例&#xff0c;詳細介紹策略模式的實現和應用。 什么是策略模式&#xff1f; 策略模式定義了算法…

第十四章-PHP與HTTP協議

第十四章-PHP與HTTP協議 一&#xff0c;HTTP 協議詳解 HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本傳輸協議&#xff09;是互聯網上應用最廣泛的協議之一&#xff0c;用于客戶端&#xff08;如瀏覽器&#xff09;與服務器之間的通信。它是 Web 技術的基石…

刀客獨家 | 潘勝接管百度移動生態市場部

一、 據刀客doc向獨家信源確認&#xff0c;百度移動生態事業群&#xff08;MEG&#xff09;市場部日前完成重要人事調整&#xff1a;潘勝已經接任市場負責人。 此前&#xff0c;根據雷鋒網3月底的報道&#xff0c;百度云渠道生態總經理陳之若離職&#xff0c;原移動生態事業群…

Springoot、Flowable快速學習

應用背景&#xff1a; 公司打算做個考勤系統&#xff0c;涉及到請假、補卡之類的流程審批。想到了工作流&#xff0c;gitee、github上看了下開源的&#xff0c;有自研的和常見的Flowable?、Activiti?。首先放棄自研的&#xff0c;考慮到成熟度、社區生態&#xff0c;最后選擇…

關于 【Spring Boot Configuration Annotation Processor 未配置問題】 的詳細分析、解決方案及代碼示例

以下是關于 Spring Boot Configuration Annotation Processor 未配置問題 的詳細分析、解決方案及代碼示例&#xff1a; 1. 問題描述 當使用 Spring Boot 的配置注解&#xff08;如 ConfigurationProperties、Value、ConditionalOnProperty 等&#xff09;時&#xff0c;若未…

Spring系列四:AOP切面編程 第一部分

AOP切面編程 &#x1f497;AOP-官方文檔&#x1f35d;AOP 講解&#x1f35d;AOP APIs &#x1f497;動態代理&#x1f35d;初探動態代理&#x1f35d;動態代理深入&#x1f35d;AOP問題提出&#x1f4d7;使用土方法解決&#x1f4d7; 對土方法解耦-開發最簡單的AOP類&#x1f4…

【云計算】云計算中IaaS、PaaS、SaaS介紹

0 隨著云計算、大數據、人工智能發展迅速,布局“云”已經是互聯網企業共識。云計算的服務類型分為三種,分別為IaaS、PaaS、SaaS,這三個分別是什么意思,今天做一個簡單的介紹和了解。 一、云計算 云計算是用戶需求通過Internet獲取計算資源,把計算資源包裝成服務,提供給…

使用HYPRE庫并行裝配IJ稀疏矩陣指南: 矩陣預分配和重復利用

使用HYPRE庫并行裝配IJ稀疏矩陣指南 HYPRE是一個流行的并行求解器庫&#xff0c;特別適合大規模稀疏線性系統的求解。下面介紹如何并行裝配IJ格式的稀疏矩陣&#xff0c;包括預先分配矩陣空間和循環使用。 1. 初始化矩陣 首先需要創建并初始化一個IJ矩陣&#xff1a; #incl…

目標跟蹤最新文章閱讀列表

AAAI2025 TrackFormer: Multi-Object Tracking with Transformers 論文:https://arxiv.org/abs/2101.02702 代碼:https://github.com/timmeinhardt/trackformer AAAI2025 SUTrack 單目標跟蹤 論文:https://pan.baidu.com/s/10cR4tQt3lSH5V2RNf7-3gg?pwd=pks2 代碼:htt…

分布式GPU上計算長向量模的方法

分布式GPU上計算長向量模的方法 當向量分布在多個GPU卡上時&#xff0c;計算向量模(2-范數)需要以下步驟&#xff1a; 在每個GPU上計算本地數據的平方和跨GPU通信匯總所有平方和在根GPU上計算總和的平方根 實現方法 下面是一個完整的CUDA示例代碼&#xff0c;使用NCCL進行多…

高并發下單庫存扣減異常?飛算 JavaAI 自動化生成分布式事務解決方案

在電商、旅游等行業業務量激增&#xff0c;高并發下單場景中&#xff0c;傳統庫存扣減方式弊端盡顯。超賣問題因缺乏有效并發控制機制頻發&#xff0c;多個訂單同時訪問庫存數據&#xff0c;導致同一商品多次售出&#xff0c;訂單無法履約引發客戶投訴&#xff1b;同時&#xf…

MVCWebAPI使用FromBody接受對象的方法

近期在做軟件升級操作的時候突然想著需要的參數比較多&#xff0c;如果需要參數的話參數比較多&#xff0c;所有想著使用frombody來集合數據統一操作做了個樣張希望對您有幫助 代碼如下&#xff1a; /// <summary>/// 入口當前文件接口下的操作數據/// </summary>/…

Atlas 800I A2 離線部署 DeepSeek-R1-Distill-Llama-70B

一、環境信息 1.1、硬件信息 Atlas 800I A2 1.2、環境信息 注意&#xff1a;這里驅動固件最好用商業版&#xff0c;我這里用的社區版有點小問題 操作系統&#xff1a;openEuler 22.03 LTS NPU驅動&#xff1a;Ascend-hdk-910b-npu-driver_24.1.rc3_linux-aarch64.run NPU固…

NLP預處理:如何 處理表情符號

一、說明 本系列文總結了在NLP處理中&#xff0c;進行文本預處理的一些內容、步驟、處理工具包應用。本篇專門談論網上文章表情符號處理&#xff0c;對于初學者具有深刻學習和實驗指導意義。 二、介紹 表情符號已成為現代交流不可或缺的一部分&#xff0c;尤其是在社交媒體、…

C++/SDL 進階游戲開發 —— 雙人塔防(代號:村莊保衛戰 14)

&#x1f381;個人主頁&#xff1a;工藤新一 &#x1f50d;系列專欄&#xff1a;C面向對象&#xff08;類和對象篇&#xff09; &#x1f31f;心中的天空之城&#xff0c;終會照亮我前方的路 &#x1f389;歡迎大家點贊&#x1f44d;評論&#x1f4dd;收藏?文章 文章目錄 二…

解鎖空間數據新質生產力暨:AI(DeepSeek、ChatGPT)、Python、ArcGIS Pro多技術融合下的空間數據分析、建模與科研繪圖及論文寫作

人工智能&#xff08;AI&#xff09;與ArcGIS Pro的結合&#xff0c;為空間數據處理和分析開辟了前所未有的創新路徑。AI通過強大的數據挖掘、深度學習及自動化能力&#xff0c;可高效處理海量、多源、異構的空間數據&#xff0c;極大提升了分析效率與決策支持能力。而ArcGIS P…

18.2.go語言redis中使用lua腳本

在 Redis 中使用 Lua 腳本可以實現原子性操作、減少網絡開銷以及提高執行效率。 Redis 執行 Lua 腳本的原理 Redis 內置了 Lua 解釋器&#xff0c;能夠直接在服務器端執行 Lua 腳本。當執行 Lua 腳本時&#xff0c;Redis 會將腳本作為一個整體執行&#xff0c;保證腳本執行期…

?Unity_Demolition Media Hap (播放Hap格式視頻 超16K大分辨率視頻 流暢播放以及幀同步解決方案)

播放大分辨率視頻以及實現局域網視頻同步是許多開發者會遇到的需求,AVPro有一個 Ultra Edition版本,也能播放Hap格式視頻,之外就是Demolition Media Hap插件啦,實測即使是 7208*3808 大分辨率的視頻幀率還是能穩定在30幀,它能幫助我們輕松解決這些問題??。 一、插件概述 …

AI大模型知識與醫療項目實踐 - Java架構師面試實戰

AI大模型知識與醫療項目實踐 - Java架構師面試實戰 本文模擬了一場互聯網大廠的Java架構師面試&#xff0c;圍繞AI大模型知識、工具以及其在醫療項目中的實踐和趨勢展開討論。 第一輪提問 面試官&#xff1a; 馬架構&#xff0c;請您介紹一下AI大模型的基本概念及其在醫療領…