Я пытаюсь запустить спинквант Llama 3.2 1B на своем iPhone с помощью executorch, но сталкиваюсь с ошибками. (macOS Sequoia 15.1, macbook Air m1 ram16gb, пользователь среды anaconda)
ImportError: cannot import name 'default_decompositions' from 'torch.export' (/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/export/__init__.py)
Позвольте мне объяснить ситуацию подробно.
https://github.com/pytorch/executorch/b ... ples/demo- apps/apple_ios/LLaMA/docs/delegates/xnnpack_README.md
Настройка ExecuTorch
В этом разделе нам нужно будет настроить Репозиторий ExecuTorch сначала с управлением средой Conda. Убедитесь, что в вашей системе доступен Conda (или следуйте инструкциям по его установке здесь). Приведенные ниже команды выполняются в Linux (CentOS).
Создайте среду Conda
conda create -n et_xnnpack python=3.10.0
conda activate et_xnnpack
Оформить репозиторий ExecuTorch и синхронизировать подмодули
git clone https://github.com/pytorch/executorch.git
cd executorch
git submodule sync
git submodule update --init
Установить зависимости
./install_requirements.sh
До этого момента мне удавалось продолжить работу без серьезных проблем. Проблема возникла в следующей части, где мне нужно было ввести пути, соответствующие модели.
Для моделей Llama 3.2 1B и 3B SpinQuant
Meta выпустила предварительно квантованные модели INT4 SpinQuant Llama 3.2, которые ExecuTorch поддерживает на Серверная часть XNNPACK.
Экспортируйте модель Llama и создайте файл .pte, как показано ниже:
python -m examples.models.llama.export_llama --model "llama3_2" --checkpoint
--params -kv --use_sdpa_with_kv_cache -X -d fp32 --xnnpack-extended-ops --preq_mode 8da4w_output_8da8w --preq_group_size 32 --max_seq_length 2048 --preq_embedding_quantize 8,0 --use_spin_quant native --metadata '{"get_bos_id":128000, "get_eos_ids":[128009, 128001]}' --output_name "llama3_2_spinquant.pte"
В этих кодах возникли ошибки.
(et_xnnpack) questionone@curious-MacBookAir executorch % python -m examples.models.llama.export_llama \
--model "llama3_2" \
--checkpoint "/Users/questionone/.llama/checkpoints/Llama3.2-1B-Instruct-int4-spinquant-eo8/consolidated.00.pth" \
--params "/Users/questionone/.llama/checkpoints/Llama3.2-1B-Instruct-int4-spinquant-eo8/params.json" \
-kv \
--use_sdpa_with_kv_cache \
-X \
-d fp32 \
--xnnpack-extended-ops \
--preq_mode 8da4w_output_8da8w \
--preq_group_size 32 \
--max_seq_length 2048 \
--preq_embedding_quantize 8,0 \
--use_spin_quant native \
--metadata '{"get_bos_id":128000, "get_eos_ids":[128009, 128001]}' \
--output_name "llama3_2_spinquant.pte"
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/Users/questionone/executorch/examples/models/llama/export_llama.py", line 14, in
from .export_llama_lib import build_args_parser, export_llama
File "/Users/questionone/executorch/examples/models/llama/export_llama_lib.py", line 25, in
from executorch.devtools.etrecord import generate_etrecord
File "/Users/questionone/executorch/devtools/__init__.py", line 7, in
import executorch.devtools.inspector as inspector
File "/Users/questionone/executorch/devtools/inspector/__init__.py", line 9, in
from executorch.devtools.inspector._inspector import (
File "/Users/questionone/executorch/devtools/inspector/_inspector.py", line 31, in
import executorch.devtools.etdump.schema_flatcc as flatcc
File "/Users/questionone/executorch/devtools/etdump/schema_flatcc.py", line 18, in
from executorch.exir.scalar_type import ScalarType
File "/Users/questionone/executorch/exir/__init__.py", line 9, in
from executorch.exir.capture import (
File "/Users/questionone/executorch/exir/capture/__init__.py", line 9, in
from executorch.exir.capture._capture import (
File "/Users/questionone/executorch/exir/capture/_capture.py", line 15, in
from executorch.exir.capture._config import CaptureConfig
File "/Users/questionone/executorch/exir/capture/_config.py", line 15, in
from executorch.exir.passes import MemoryPlanningPass, ToOutVarPass
File "/Users/questionone/executorch/exir/passes/__init__.py", line 19, in
from executorch.exir import control_flow, memory, memory_planning
File "/Users/questionone/executorch/exir/control_flow.py", line 58, in
from executorch.exir.tracer import (
File "/Users/questionone/executorch/exir/tracer.py", line 50, in
from torch.export import default_decompositions
ImportError: cannot import name 'default_decompositions' from 'torch.export' (/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/torch/export/__init__.py)
Мне хотелось бы знать, почему возникают эти ошибки. Executorch и PyTorch уже установлены в среде et_xnnpack.
Даже после сброса пути с помощью команды Export PYTHONPATH=/Users/questionone/executorch ошибки сохраняются.
+
(et_xnnpack) q u e s t i o n o n e @ c u r i o u s - M a c B o o k A i r e x e c u t o r c h % c o n d a l i s t - n e t _ x n n p a c k < b r / > # p a c k a g e s i n e n v i r o n m e n t a t / o p t / a n a c o n d a 3 / e n v s / e t _ x n n p a c k : < b r / > # < b r / > # N a m e V e r s i o n B u i l d C h a n n e l < b r / > a n n o t a t e d - t y p e s 0 . 7 . 0 p y p i _ 0 p y p i < b r / > a n y i o 4 . 7 . 0 p y p i _ 0 p y p i < b r / > a t t r s 2 4 . 3 . 0 p y p i _ 0 p y p i < b r / > b l a s 1 . 0 o p e n b l a s < b r / > b l o b f i l e 3 . 0 . 0 p y p i _ 0 p y p i < b r / > b z i p 2 1 . 0 . 8 h 8 0 9 8 7 f 9 _ 6 < b r / > c a - c e r t i f i c a t e s 2 0 2 4 . 1 1 . 2 6 h c a 0 3 d a 5 _ 0 < b r / > c e r t i f i 2 0 2 4 . 1 2 . 1 4 p y p i _ 0 p y p i < b r / > c h a r s e t - n o r m a l i z e r 3 . 4 . 0 p y p i _ 0 p y p i < b r / > c l i c k 8 . 1 . 8 p y p i _ 0 p y p i < b r / > c m a k e 3 . 3 1 . 2 p y p i _ 0 p y p i < b r / > d i s t r o 1 . 9 . 0 p y p i _ 0 p y p i < b r / > e x c e p t i o n g r o u p 1 . 2 . 2 p y p i _ 0 p y p i < b r / > e x e c n e t 2 . 1 . 1 p y p i _ 0 p y p i < b r / > e x e c u t o r c h 0 . 5 . 0 a 0 + 8 2 7 6 3 a 9 p y p i _ 0 p y p i < b r / > e x p e c t t e s t 0 . 3 . 0 p y p i _ 0 p y p i < b r / > f i l e l o c k 3 . 1 6 . 1 p y p i _ 0 p y p i < b r / > f i r e 0 . 7 . 0 p y p i _ 0 p y p i < b r / > f l a t b u f f e r s 2 4 . 3 . 2 5 p y p i _ 0 p y p i < b r / > f s s p e c 2 0 2 4 . 1 2 . 0 p y p i _ 0 p y p i < b r / > g m p 6 . 2 . 1 h c 3 7 7 a c 9 _ 3 < b r / > g m p y 2 2 . 1 . 2 p y 3 1 0 h 8 c 4 8 6 1 3 _ 0 < b r / > h 1 1 0 . 1 4 . 0 p y p i _ 0 p y p i < b r / > h t t p c o r e 1 . 0 . 7 p y p i _ 0 p y p i < b r / > h t t p x 0 . 2 8 . 1 p y p i _ 0 p y p i < b r / > h u g g i n g f a c e - h u b 0 . 2 7 . 0 p y p i _ 0 p y p i < b r / > h y p o t h e s i s 6 . 1 2 3 . 0 p y p i _ 0 p y p i < b r / > i d n a 3 . 1 0 p y p i _ 0 p y p i < b r / > i n i c o n f i g 2 . 0 . 0 p y p i _ 0 p y p i < b r / > j i n j a 2 3 . 1 . 5 p y p i _ 0 p y p i < b r / > l i b a b s e i l 2 0 2 4 0 1 1 6 . 2 c x x 1 7 _ h 3 1 3 b e b 8 _ 0 < b r / > l i b c x x 1 4 . 0 . 6 h 8 4 8 a 8 c 0 _ 0 < b r / > l i b f f i 3 . 4 . 4 h c a 0 3 d a 5 _ 1 < b r / > l i b g f o r t r a n 5 . 0 . 0 1 1 _ 3 _ 0 _ h c a 0 3 d a 5 _ 2 8 < b r / > l i b g f o r t r a n 5 1 1 . 3 . 0 h 0 0 9 3 4 9 e _ 2 8 < b r / > l i b o p e n b l a s 0 . 3 . 2 1 h 2 6 9 0 3 7 a _ 0 < b r / > l i b p r o t o b u f 4.25.3 h514c7bf_0
llama-models 0.0.63 pypi_0 pypi
llama-stack 0.0.63 pypi_0 pypi
llama-stack-client 0.0.63 pypi_0 pypi
llvm-openmp 14.0.6 hc6e5704_0
lxml 5.3.0 pypi_0 pypi
markdown-it-py 3.0.0 pypi_0 pypi
markupsafe 3.0.2 pypi_0 pypi
mdurl 0.1.2 pypi_0 pypi
mpc 1.1.0 h8c48613_1
mpfr 4.0.2 h695f6f0_1
mpmath 1.3.0 py310hca03da5_0
ncurses 6.4 h313beb8_0
networkx 3.4.2 pypi_0 pypi
numpy 1.21.3 pypi_0 pypi
numpy-base 1.26.4 py310ha9811e2_0
openssl 3.0.15 h80987f9_0
packaging 24.2 pypi_0 pypi
pandas 2.0.3 pypi_0 pypi
parameterized 0.9.0 pypi_0 pypi
pillow 11.0.0 pypi_0 pypi
pip 24.2 py310hca03da5_0
pluggy 1.5.0 pypi_0 pypi
prompt-toolkit 3.0.48 pypi_0 pypi
pyaml 24.12.1 pypi_0 pypi
pycryptodomex 3.21.0 pypi_0 pypi
pydantic 2.10.4 pypi_0 pypi
pydantic-core 2.27.2 pypi_0 pypi
pygments 2.18.0 pypi_0 pypi
pytest 8.3.4 pypi_0 pypi
pytest-xdist 3.6.1 pypi_0 pypi
python 3.10.16 hb885b13_1
python-dateutil 2.9.0.post0 pypi_0 pypi
python-dotenv 1.0.1 pypi_0 pypi
pytorch 2.3.1 gpu_mps_py310h7b7e308_100
pytz 2024.2 pypi_0 pypi
pyyaml 6.0.2 pypi_0 pypi
readline 8.2 h1a28f6b_0
regex 2024.11.6 pypi_0 pypi
requests 2.32.3 pypi_0 pypi
rich 13.9.4 pypi_0 pypi
ruamel-yaml 0.18.6 pypi_0 pypi
ruamel-yaml-clib 0.2.12 pypi_0 pypi
safetensors 0.4.5 pypi_0 pypi
setuptools 75.1.0 py310hca03da5_0
six 1.17.0 pypi_0 pypi
sleef 3.5.1 h80987f9_2
sniffio 1.3.1 pypi_0 pypi
sortedcontainers 2.4.0 pypi_0 pypi
sqlite 3.45.3 h80987f9_0
sympy 1.13.1 pypi_0 pypi
tabulate 0.9.0 pypi_0 pypi
termcolor 2.5.0 pypi_0 pypi
tiktoken 0.8.0 pypi_0 pypi
timm 1.0.7 pypi_0 pypi
tk 8.6.14 h6ba3021_0
tokenizers 0.20.3 pypi_0 pypi
tomli 2.2.1 pypi_0 pypi
torch 2.6.0.dev20241218 pypi_0 pypi
torchaudio 2.6.0.dev20241218 pypi_0 pypi
torchsr 1.0.4 pypi_0 pypi
torchvision 0.22.0.dev20241218 pypi_0 pypi
tqdm 4.67.1 pypi_0 pypi
transformers 4.46.1 pypi_0 pypi
typing_extensions 4.12.2 py310hca03da5_0
tzdata 2024.2 pypi_0 pypi
urllib3 2.3.0 pypi_0 pypi
wcwidth 0.2.13 pypi_0 pypi
wheel 0.44.0 py310hca03da5_0
xz 5.4.6 h80987f9_1
zlib 1.2.13 h18a0788_1
zstd 1.5.5.1 pypi_0 pypi
Подробнее здесь: https://stackoverflow.com/questions/793 ... orch-execu
Невозможно импортировать имя «default_decompositions» из «torch.export» (проблемы Pytorch и Executorch) ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Невозможно передать kwargs в аргументы torch.onnx.export в Pytorch ONNX.
Anonymous » » в форуме Python - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-