aarch64 pytorch(没有aarch64对应版本,自行编译)
pytorch-v2.0.1 cuda arm64 aarch64 torch 2.0.1+cu118 源码编译笔记【2】验证cuda安装 成功_hkNaruto的博客-CSDN博客
创建venv
[root@ceph3 stable-diffusion-webui]# /usr/local/Python-3.10.12/bin/python3 -m venv venv
[root@ceph3 stable-diffusion-webui]# source venv/bin/activate
(venv)[root@ceph3 stable-diffusion-webui]# python3
Python 3.10.12 (main, Sep 4 2023, 10:01:29) [GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'torch'
>>>
发现torch未安装到venv,
安装pyyaml
(venv) [root@ceph3 stable-diffusion-webui]# cd /home/yeqiang/pyyaml-6.0.1/
(venv) [root@ceph3 pyyaml-6.0.1]# python3 setup.py install
日志
(venv) [root@ceph3 pyyaml-6.0.1]# python3 setup.py install
running install
/home/yeqiang/stable-diffusion-webui/venv/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.warnings.warn(
/home/yeqiang/stable-diffusion-webui/venv/lib/python3.10/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.warnings.warn(
running bdist_egg
running egg_info
writing lib/PyYAML.egg-info/PKG-INFO
writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt
writing top-level names to lib/PyYAML.egg-info/top_level.txt
reading manifest file 'lib/PyYAML.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'README'
adding license file 'LICENSE'
writing manifest file 'lib/PyYAML.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-aarch64/egg
running install_lib
running build_py
running build_ext
building 'yaml._yaml' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/home/yeqiang/stable-diffusion-webui/venv/include -I/usr/local/Python-3.10.12/include/python3.10 -c yaml/_yaml.c -o build/temp.linux-aarch64-cpython-310/yaml/_yaml.o
gcc: 错误:yaml/_yaml.c:没有那个文件或目录
gcc: 致命错误:没有输入文件
编译中断。
Error compiling module, falling back to pure Python
creating build/bdist.linux-aarch64/egg
creating build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/__init__.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/composer.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/constructor.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/cyaml.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/dumper.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/emitter.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/error.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/events.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/loader.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/nodes.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/parser.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/reader.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/representer.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/resolver.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/scanner.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/serializer.py -> build/bdist.linux-aarch64/egg/yaml
copying build/lib.linux-aarch64-cpython-310/yaml/tokens.py -> build/bdist.linux-aarch64/egg/yaml
creating build/bdist.linux-aarch64/egg/_yaml
copying build/lib.linux-aarch64-cpython-310/_yaml/__init__.py -> build/bdist.linux-aarch64/egg/_yaml
byte-compiling build/bdist.linux-aarch64/egg/yaml/__init__.py to __init__.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/composer.py to composer.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/constructor.py to constructor.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/cyaml.py to cyaml.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/dumper.py to dumper.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/emitter.py to emitter.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/error.py to error.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/events.py to events.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/loader.py to loader.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/nodes.py to nodes.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/parser.py to parser.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/reader.py to reader.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/representer.py to representer.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/resolver.py to resolver.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/scanner.py to scanner.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/serializer.py to serializer.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/yaml/tokens.py to tokens.cpython-310.pyc
byte-compiling build/bdist.linux-aarch64/egg/_yaml/__init__.py to __init__.cpython-310.pyc
creating build/bdist.linux-aarch64/egg/EGG-INFO
copying lib/PyYAML.egg-info/PKG-INFO -> build/bdist.linux-aarch64/egg/EGG-INFO
copying lib/PyYAML.egg-info/SOURCES.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
copying lib/PyYAML.egg-info/dependency_links.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
copying lib/PyYAML.egg-info/top_level.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/PyYAML-6.0.1-py3.10-linux-aarch64.egg' and adding 'build/bdist.linux-aarch64/egg' to it
removing 'build/bdist.linux-aarch64/egg' (and everything under it)
Processing PyYAML-6.0.1-py3.10-linux-aarch64.egg
Copying PyYAML-6.0.1-py3.10-linux-aarch64.egg to /home/yeqiang/stable-diffusion-webui/venv/lib/python3.10/site-packages
Adding PyYAML 6.0.1 to easy-install.pth fileInstalled /home/yeqiang/stable-diffusion-webui/venv/lib/python3.10/site-packages/PyYAML-6.0.1-py3.10-linux-aarch64.egg
Processing dependencies for PyYAML==6.0.1
Finished processing dependencies for PyYAML==6.0.1
安装typing_extensions
(venv) [root@ceph3 yeqiang]# python3 -m pip install /home/yeqiang/typing_extensions-4.7.1-py3-none-any.whl
Processing ./typing_extensions-4.7.1-py3-none-any.whl
Installing collected packages: typing-extensions
Successfully installed typing-extensions-4.7.1
venv内安装编译好的pytorch
(venv) [root@ceph3 ~]# cd /home/yeqiang/pytorch
(venv) [root@ceph3 pytorch]# export PATH=/usr/local/cmake-3.27.4-linux-aarch64/bin:$PATH
(venv) [root@ceph3 pytorch]# python3 setup.py install
当前成果
pip list显示torch未2.0.0a0,实际上是在v2.0.1分支上编译的。
安装import torch需要的依赖
(venv) [root@ceph3 stable-diffusion-webui]# cd /home/yeqiang/pytorch-libs/
(venv) [root@ceph3 pytorch-libs]# python3 -m pip install *.whl
Processing ./filelock-3.12.3-py3-none-any.whl
Processing ./Jinja2-3.1.2-py3-none-any.whl
Processing ./MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Processing ./mpmath-1.3.0-py3-none-any.whl
Processing ./networkx-3.1-py3-none-any.whl
Processing ./sympy-1.12-py3-none-any.whl
Requirement already satisfied: typing-extensions>=4.7.1 in /home/yeqiang/stable-diffusion-webui/venv/lib/python3.10/site-packages (from filelock==3.12.3) (4.7.1)
Installing collected packages: mpmath, sympy, networkx, MarkupSafe, filelock, Jinja2
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.3 filelock-3.12.3 mpmath-1.3.0 networkx-3.1 sympy-1.12
[notice] A new release of pip is available: 23.0.1 -> 23.2.1
[notice] To update, run: pip install --upgrade pip
验证venv内的torch+cuda
其他依赖安装待续。