微网站平台微网站建设方案,营销策划咨询,设计营销型网站,网站建设佰金手指科杰六Windows上解决 test.c LINK : fatal error LNK1181: 无法打开输入文件“aio.lib” test.c LINK : fatal error LNK1181: 无法打开输入文件“cufile.lib”
问题背景
在Windows系统上运行深度学习项目#xff08;如CosyVoice、语音处理相关项目#xff09;时#xff0c;经常…Windows上解决 test.c LINK : fatal error LNK1181: 无法打开输入文件“aio.lib” test.c LINK : fatal error LNK1181: 无法打开输入文件“cufile.lib”问题背景在Windows系统上运行深度学习项目如CosyVoice、语音处理相关项目时经常会遇到以下编译错误LINK : fatal error LNK1181: 无法打开输入文件aio.lib test.c LINK : fatal error LNK1181: 无法打开输入文件cufile.lib这些错误通常发生在项目启动时虽然不影响基本功能使用但会在控制台输出中显示给开发者带来困扰。问题分析错误原因LINK : fatal error LNK1181: 无法打开输入文件“aio.lib” test.c LINK : fatal error LNK1181: 无法打开输入文件“cufile.lib经过深入研究我发现这些错误的根本原因是预编译wheel文件的局限性许多Python库在Windows上提供的预编译wheel文件缺乏完整的 Torch CUDA支持这些文件通常是为了兼容性而编译的牺牲了一些高级功能DeepSpeed版本的特殊性CosyVoice项目指定了deepspeed0.15.1; sys_platform linux但在Windows系统上我们只能通过下载wheel文件来安装DeepSpeed大多数来源的DeepSpeed wheel文件都没有完整的CUDA支持库文件的依赖关系aio.lib异步I/O库在Linux系统上很常见但Windows版本支持有限cufile.libCUDA文件I/O库用于高性能存储访问解决方案的发现过程尝试过的方法在找到最终解决方案之前我尝试了多种方法安装CUDA Toolkit虽然安装了最新的CUDA Toolkit但问题依然存在安装Windows SDK确保安装了完整的Windows SDK但错误仍然出现尝试不同版本的DeepSpeed下载了多个版本的DeepSpeed wheel文件包括最新版本但问题依然存在尝试不同版本的 Torch / CUDA 组合通过替换为较新版本的 Torch 与 CUDA 组合可有效解决该问题。新版本通常包含已知问题修复、功能增强项及 API 接口版本更新。但该方案对基于旧版本构建的项目存在兼容性约束需适配项目中其他依赖库的版本整体试错成本较高。最终解决方案经过大量搜索和测试我终于找到了有效的解决方案安装支持CUDA的DeepSpeed版本。具体解决步骤步骤1卸载现有DeepSpeed版本首先需要卸载当前环境中可能存在的DeepSpeed版本pip uninstall deepspeed -y步骤2安装支持CUDA的DeepSpeed版本deepspeed-windows-wheels感谢社区贡献者daswer123提供的Windows版本DeepSpeed wheel文件这个版本包含完整的CUDA支持pipinstallhttps://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda121-cp310-cp310-win_amd64.whl需要注意的是CosyVoice 在 requirements.txt 文件中指定deepspeed0.15.1; sys_platform ‘linux’在 Linux 系统环境下建议0.15.1 版本但是我们在 Windows 系统环境下安装了 deepspeed-0.11.2 版虽然版本号略低但仍然有效地解决了“aio.lib”和“cufile.lib”报错如果你需要更新的版本请参考贡献者daswer123的官方指导尝试其他安装命令安装 Deepspeed 系统你不需要直接下载方向盘文件;相反只需在安装命令中使用类似这样的链接命令 针对 Python 3.10 和 CUDA 11.8 版本pip install https://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda118-cp310-cp310-win_amd64.whl注意确保根据你具体的Python版本和想要的CUDA支持版本调整命令。快速安装命令下面你会找到适用于各种配置的Deepspeed安装即用命令。只需选择与你设置匹配的命令在终端里运行即可。Deepspeed 0.11.2Python 3.10.xCUDA 11.8pip install https://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda118-cp310-cp310-win_amd64.whlCUDA 12.1pip install https://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda121-cp310-cp310-win_amd64.whlPython 3.11.xCUDA 11.8pip install https://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda118-cp311-cp311-win_amd64.whlCUDA 12.1pip install https://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda121-cp311-cp311-win_amd64.whlDeepspeed 0.12.6Python 3.10.xCUDA 11.8pip install https://github.com/daswer123/deepspeed-windows/releases/download/12.6/deepspeed-0.12.6cu118-cp310-cp310-win_amd64.whlCUDA 12.1pip install https://github.com/daswer123/deepspeed-windows/releases/download/12.6/deepspeed-0.12.6cu121-cp310-cp310-win_amd64.whlPython 3.11.xCUDA 11.8pip install https://github.com/daswer123/deepspeed-windows/releases/download/12.6/deepspeed-0.12.6cu118-cp311-cp311-win_amd64.whlCUDA 12.1pip install https://github.com/daswer123/deepspeed-windows/releases/download/12.6/deepspeed-0.12.6cu121-cp311-cp311-win_amd64.whlDeepspeed 0.13.1Python 3.10.xCUDA 11.8pip install https://github.com/daswer123/deepspeed-windows/releases/download/13.1/deepspeed-0.13.1cu118-cp310-cp310-win_amd64.whlCUDA 12.1pip install https://github.com/daswer123/deepspeed-windows/releases/download/13.1/deepspeed-0.13.1cu121-cp310-cp310-win_amd64.whlPython 3.11.xCUDA 11.8pip install https://github.com/daswer123/deepspeed-windows/releases/download/13.1/deepspeed-0.13.1cu118-cp311-cp311-win_amd64.whlCUDA 12.1pip install https://github.com/daswer123/deepspeed-windows/releases/download/13.1/deepspeed-0.13.1cu121-cp311-cp311-win_amd64.whl安装过程详解安装过程会显示以下信息(.venv)F:\PythonProjects\CosyVoicepipinstallhttps://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda121-cp310-cp310-win_amd64.whl Lookinginindexes: https://pypi.org/simple, https://pypi.ngc.nvidia.com Collectingdeepspeed0.11.2cuda121 Downloading https://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda121-cp310-cp310-win_amd64.whl(27.0MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━27.0/27.0 MB828.2kB/s0:00:43 Requirement already satisfied: hjsoninf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(3.1.0)Requirement already satisfied: ninjainf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(1.13.0)Requirement already satisfied: numpyinf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(1.26.4)Requirement already satisfied: packaging20.0inf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(25.0)Requirement already satisfied: psutilinf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(7.1.3)Requirement already satisfied: py-cpuinfoinf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(9.0.0)Requirement already satisfied: pydanticinf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(2.7.0)Collecting pynvml(fromdeepspeed0.11.2cuda121)Downloading pynvml-13.0.1-py3-none-any.whl.metadata(5.6kB)Requirement already satisfied: torchinf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(2.3.1cu121)Requirement already satisfied: tqdminf:\pythonprojects\cosyvoice\.venv\lib\site-packages(fromdeepspeed0.11.2cuda121)(4.67.1)... Installing collected packages: nvidia-ml-py, pynvml, deepspeed Attempting uninstall: deepspeed Found existing installation: deepspeed0.15.1 Uninstalling deepspeed-0.15.1: Successfully uninstalled deepspeed-0.15.1 Successfully installed deepspeed-0.11.2unknown nvidia-ml-py-13.590.44 pynvml-13.0.1可用于快捷安装DeepSpeed的whl地址步骤3验证安装结果安装完成后可以通过以下命令验证DeepSpeed是否正确安装pip show deepspeed输出应该显示(.venv) F:\PythonProjects\CosyVoicepip show deepspeed Name: deepspeed Version: 0.11.2unknown Summary: DeepSpeed library Home-page: http://deepspeed.ai Author: DeepSpeed Team Author-email: deepspeed-infomicrosoft.com License: Apache Software License 2.0 Location: f:\pythonprojects\cosyvoice\.venv\lib\site-packages Requires: hjson, ninja, numpy, packaging, psutil, py-cpuinfo, pydantic, pynvml, torch, tqdm Required-by:步骤4测试项目运行现在重新运行你的项目应该不会再看到aio.lib和cufile.lib的错误信息python webui.py --port50000--model_dir pretrained_models/CosyVoice-300M技术原理分析为什么这个版本有效完整的CUDA支持这个DeepSpeed版本是专门为Windows编译的包含了完整的CUDA支持兼容性考虑虽然版本号0.11.2比推荐的0.15.1旧但功能上完全满足CosyVoice的需求社区贡献感谢daswer123在GitHub上分享这个编译好的版本完整的环境配置流程为了帮助其他开发者避免类似问题我整理了完整的环境配置流程步骤1克隆并进入项目gitclone https://github.com/FunAudioLLM/CosyVoice.gitcdCosyVoice步骤2基于 EPGF 架构创建虚拟环境EPGF 架构能够结合 Anaconda 和独立 python 的优势使得在 Windows 系统上Python 版本管理和全类型虚拟环境管理变得游刃有余【EPGF 白皮书】路径治理驱动的多版本 Python 架构—— Windows 环境治理与 AI 教学开发体系使用 Python 3.10 创建虚拟环境:: 激活系统级的 python3.10基于 EPGF 架构 conda activate py310创建项目本地的 python3.10 虚拟环境:: 使用--copies参数避免符号链接推荐用于可能移动的项目 python -m venv --copies .venv :: 退出 conda 父级环境避免干扰 conda deactivate :: 激活项目本地的虚拟环境 .venv .venv\Scripts\activate python -m pipinstall-U pip setuptools wheel步骤3安装基础依赖pipinstalltorch2.3.1torchvision0.18.1torchaudio2.3.1 --index-url https://download.pytorch.org/whl/cu121 pipinstallpynini-2.1.6.post1-cp310-cp310-win_amd64.whl pipinstalldeepspeed-0.17.1-py3-none-any.whl pipinstalltensorrt-10.13.3.9-cp310-none-win_amd64.whl pipinstall-r requirements.txt :: 强制重新安装 onnxruntime-gpu 及其依赖 pipinstall--force-reinstall --no-cache-dir onnxruntime-gpu1.18.0 --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/ pipinstalltn pipinstallWeTextProcessing --no-deps pipinstallnumpy1.26.4 --no-deps pipinstallimportlib_resources pipinstallttsfrd pipinstallgithttps://github.com/k2-fsa/kaldifst.git步骤4安装支持CUDA的DeepSpeedpipinstallhttps://github.com/daswer123/deepspeed-windows/releases/download/11.2/deepspeed-0.11.2cuda121-cp310-cp310-win_amd64.whl步骤5下载模型并运行项目下载模型创建模型下载脚本Model_Download.py# Model_Download.py # SDK模型下载 from modelscope import snapshot_download snapshot_download(iic/CosyVoice2-0.5B, local_dirpretrained_models/CosyVoice2-0.5B) snapshot_download(iic/CosyVoice-300M, local_dirpretrained_models/CosyVoice-300M) snapshot_download(iic/CosyVoice-300M-SFT, local_dirpretrained_models/CosyVoice-300M-SFT) snapshot_download(iic/CosyVoice-300M-Instruct, local_dirpretrained_models/CosyVoice-300M-Instruct) snapshot_download(iic/CosyVoice-ttsfrd, local_dirpretrained_models/CosyVoice-ttsfrd)运行模型下载脚本Model_Download.pypython Model_Download.py下载模型完毕后指定模型运行项目python webui.py --port50000--model_dir pretrained_models/CosyVoice2-0.5B注意事项和建议版本兼容性Python版本建议使用Python 3.10这是大多数深度学习库支持最好的版本CUDA版本确保安装的CUDA版本与PyTorch版本匹配Windows版本建议使用Windows 10或Windows 11的最新版本性能考虑虽然这个DeepSpeed版本比推荐版本旧但在实际使用中性能表现良好如果需要最新功能可以关注daswer123的GitHub仓库看是否有更新版本发布社区支持感谢daswer123在GitHub上分享这个编译好的版本可以关注他的仓库https://github.com/daswer123/deepspeed-windows-wheels如果这个链接失效可以在GitHub上搜索deepspeed windows cuda寻找替代方案总结在Windows上进行深度学习开发确实会遇到一些挑战特别是在库的兼容性方面。但通过社区的力量和开发者的努力这些问题都有解决方案。本文介绍的解决方案解决了aio.lib和cufile.lib缺失的编译错误提供了完整的环境配置流程希望这篇文章能帮助更多开发者在Windows上顺利运行深度学习项目。如果你在实践过程中遇到任何问题欢迎在评论区交流讨论。记住虽然Windows在深度学习开发中可能不是最佳选择但通过正确的配置和社区的支持我们依然可以在这里进行高效的开发工作。参考资料daswer123的DeepSpeed Windows仓库CosyVoice官方仓库【笔记】消除 “FutureWarning: The pynvml package is deprecated”警告【笔记】CosyVoice 模型下载小记简单易懂的两种方法对比Windows避坑部署CosyVoice多语言大语言模型windows部署cosyvoice环境依赖文件分享修复CosyVoice中的NameError: name ‘ZhNormalizer‘ is not defined和ImportError: cannot import name ‘EnN报错的记录修复CosyVoice中的NameError: name ‘ZhNormalizer‘ is not defined报错的记录接上篇安装ttsfrdWSL部署CosyVoiceWSL部署CosyVoice修复CosyVoice中的ModuleNotFoundError: No module named ‘diffusers.models.lora‘记录修复CosyVoice中的ImportError: cannot import name ‘cached_download‘ from ‘huggingface_hub‘报错的记录【笔记】记录Docker部署CosyVoice