apple / apple/coremltools

RuntimeError: PyTorch convert function for op 'normal_' not implemented.

Open
#1,528 5 comments 0 reactions 0 assignees View on GitHub
missing layer type PyTorch (traced)
Dominant language
Python
Stars
5.4k
Forks
850
Avg merge
4d 5h
Merged PRs (30d)
10

Description

## 🐞Describing the bug
Hello, after I debugged my last problem, I encountered the following error when converting the GPT language model. It should be that COREMLTOOLS has not yet supported this Pytorch operation. I hope it can be corrected and added.

## Stack Trace

Mismatched elements: 262139 / 262144 (100.0%)
Greatest absolute difference: 3.099862426519394 at index (0, 418, 0, 24) (up to 1e-05 allowed)
Greatest relative difference: 59928.32389642812 at index (1, 471, 0, 200) (up to 1e-05 allowed)

_check_trace(
Converting Frontend ==> MIL Ops: 14%|█▍ | 169/1208 [00:00<00:00, 1312.21 ops/s]

Ran 1 test in 27.315s

FAILED (errors=1)

Error
Traceback (most recent call last):
File "C:\Users\xbj0916\Desktop\ANE-GPT-main\test_GPT.py", line 84, in test_coreml_conversion_and_speedup
ANE_Model_CoreML_Model = ct.convert(
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\_converters_entry.py", line 326, in convert
mlmodel = mil_convert(
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\converter.py", line 182, in mil_convert
return _mil_convert(model, convert_from, convert_to, ConverterRegistry, MLModel, compute_units, **kwargs)
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\converter.py", line 209, in _mil_convert
proto, mil_program = mil_convert_to_proto(
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\converter.py", line 300, in mil_convert_to_proto
prog = frontend_converter(model, **kwargs)
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\converter.py", line 104, in __call__
return load(*args, **kwargs)
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\frontend\torch\load.py", line 50, in load
return _perform_torch_convert(converter, debug)
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\frontend\torch\load.py", line 95, in _perform_torch_convert
raise e
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\frontend\torch\load.py", line 87, in _perform_torch_convert
prog = converter.convert()
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\frontend\torch\converter.py", line 239, in convert
convert_nodes(self.context, self.graph)
File "C:\Program Files\Anaconda\envs\ML\lib\site-packages\coremltools\converters\mil\frontend\torch\ops.py", line 73, in convert_nodes
raise RuntimeError(
RuntimeError: PyTorch convert function for op 'normal_' not implemented.

## System environment (please complete the following information):
- coremltools version: 5.1.0
- Windows10
- Pytorch 1.11.0

Contributor guide

Open the contributing guide

Research direction

Start in coremltools/converters/mil/frontend/torch/ops.py, where the conversion currently raises for the PyTorch `normal_` operation. Reproduce the failure with the conversion path shown in test_GPT.py and inspect the surrounding Torch converter entry points. Done means the reported model conversion no longer raises for `normal_` and preserves the expected converted-model behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
machine-learning, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.