-
Couldn't load subscription status.
- Fork 1k
Closed
Description
Branch: main
Conversion command:
python -m python_coreml_stable_diffusion.torch2coreml --convert-unet --convert-text-encoder --convert-vae-decoder --convert-vae-encoder --model-version "runwayml/stable-diffusion-v1-5" --unet-support-controlnet --quantize-nbits 6 --attention-implementation SPLIT_EINSUM_V2 --convert-controlnet "lllyasviel/control_v11p_sd15_canny" "lllyasviel/control_v11p_sd15_inpaint" "lllyasviel/control_v11p_sd15_openpose" --bundle-resources-for-swift-cli -o "/path/to/save"
The conversion fails after starting the Quantizing text_encoder step.
The conversion using the same command without --quantize-nbits 6 completes successfully.
INFO:__main__:Quantizing text_encoder
Running compression pass palettize_weights: 5%|████▉ | 10/197 [00:10<03:09, 1.02s/ ops]
Traceback (most recent call last):
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/Users/danylo/Home/Projects/AI_stuff/apple:ml-stable-diffusion/python_coreml_stable_diffusion/torch2coreml.py", line 1409, in <module>
main(args)
File "/Users/danylo/Home/Projects/AI_stuff/apple:ml-stable-diffusion/python_coreml_stable_diffusion/torch2coreml.py", line 1271, in main
quantize_weights(args)
File "/Users/danylo/Home/Projects/AI_stuff/apple:ml-stable-diffusion/python_coreml_stable_diffusion/torch2coreml.py", line 148, in quantize_weights
_quantize_weights(
File "/Users/danylo/Home/Projects/AI_stuff/apple:ml-stable-diffusion/python_coreml_stable_diffusion/torch2coreml.py", line 184, in _quantize_weights
model = ct.optimize.coreml.palettize_weights(mlmodel, config=config).save(out_path)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/optimize/coreml/_post_training_quantization.py", line 262, in palettize_weights
return _apply_graph_pass(mlmodel, weight_palettizer)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/optimize/coreml/_post_training_quantization.py", line 67, in _apply_graph_pass
graph_pass.apply(prog)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/optimize/coreml/_quantization_passes.py", line 104, in apply
apply_block(f)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/converters/mil/mil/passes/helper.py", line 60, in wrapper
return func(*args)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/optimize/coreml/_quantization_passes.py", line 101, in apply_block
self.transform_op(op)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/optimize/coreml/_quantization_passes.py", line 537, in transform_op
lut_params = self.compress(
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/optimize/coreml/_quantization_passes.py", line 505, in compress
lut, indices = compress_kmeans(val, nbits)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/optimize/coreml/_quantization_passes.py", line 426, in compress_kmeans
lut, indices = _get_kmeans_lookup_table_and_weight(nbits, val)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/coremltools/models/neural_network/quantization_utils.py", line 424, in _get_kmeans_lookup_table_and_weight
kmeans = KMeans(
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/sklearn/base.py", line 1151, in wrapper
return fit_method(estimator, *args, **kwargs)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/sklearn/cluster/_kmeans.py", line 1471, in fit
X = self._validate_data(
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/sklearn/base.py", line 604, in _validate_data
out = check_array(X, input_name="X", **check_params)
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/sklearn/utils/validation.py", line 959, in check_array
_assert_all_finite(
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/sklearn/utils/validation.py", line 124, in _assert_all_finite
_assert_all_finite_element_wise(
File "/Users/danylo/anaconda3/envs/coreml_stable_diffusion/lib/python3.8/site-packages/sklearn/utils/validation.py", line 173, in _assert_all_finite_element_wise
raise ValueError(msg_err)
ValueError: Input X contains infinity or a value too large for dtype('float64').
Metadata
Metadata
Assignees
Labels
No labels