Skip to content

Commit ae3cf56

Browse files
authored
Fixed calibration sampling size error and IPEX examples error (#264)
* Fixed calibration sampling size error * Update training fit API docstring * Fixed IPEX examples error Signed-off-by: Cheng, Penghui <[email protected]>
1 parent d6f9192 commit ae3cf56

File tree

4 files changed

+25
-9
lines changed

4 files changed

+25
-9
lines changed

neural_compressor/config.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,8 @@ def calibration_sampling_size(self):
469469
@calibration_sampling_size.setter
470470
def calibration_sampling_size(self, sampling_size):
471471
if check_value('calibration_sampling_size', sampling_size, int):
472+
if isinstance(sampling_size, int):
473+
sampling_size =[sampling_size]
472474
self._calibration_sampling_size = sampling_size
473475

474476
@property

neural_compressor/experimental/benchmark.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -497,6 +497,12 @@ def model(self, user_model):
497497
logger.warning("Force convert framework model to neural_compressor model.")
498498
self._model = NCModel(user_model, framework=self.framework)
499499
else:
500+
# It is config of neural_compressor version < 2.0, no need in 2.0
501+
if cfg.model.framework == "pytorch_ipex":
502+
from neural_compressor.model.torch_model import IPEXModel
503+
if not isinstance(user_model, IPEXModel):
504+
self._model = NCModel(user_model.model, framework=cfg.model.framework)
505+
return
500506
self._model = user_model
501507

502508
# (TODO) ugly to set these params, but tensorflow need

neural_compressor/experimental/component.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,13 @@ def model(self, user_model):
489489
logger.warning("Force convert framework model to neural_compressor model.")
490490
self._model = Model(user_model, framework=self.framework)
491491
else:
492+
# It is config of neural_compressor version < 2.0, no need in 2.0
493+
if self.cfg.model.framework == "pytorch_ipex":
494+
from neural_compressor.model.torch_model import IPEXModel
495+
if not isinstance(user_model, IPEXModel):
496+
self._model = Model(user_model.model, framework=self.cfg.model.framework)
497+
return
498+
492499
self._model = user_model
493500

494501
if 'tensorflow' in self.framework:

neural_compressor/training.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,23 @@ class CompressionManager:
3535
examples:
3636
import neural_compressor.training.prepare_compression
3737
compression_manager = prepare_compression(conf, model)
38+
compression_manager.callbacks.on_train_begin()
39+
model = compression_manager.model
3840
train_loop:
39-
compression_manager.on_train_begin()
4041
for epoch in range(epochs):
41-
compression_manager.on_epoch_begin(epoch)
42+
compression_manager.callbacks.on_epoch_begin(epoch)
4243
for i, batch in enumerate(dataloader):
43-
compression_manager.on_step_begin(i)
44+
compression_manager.callbacks.on_step_begin(i)
4445
......
45-
output = compression_manager.model(batch)
46+
output = model(batch)
4647
loss = ......
47-
loss = compression_manager.on_after_compute_loss(batch, output, loss)
48+
loss = compression_manager.callbacks.on_after_compute_loss(batch, output, loss)
4849
loss.backward()
49-
compression_manager.on_before_optimizer_step()
50+
compression_manager.callbacks.on_before_optimizer_step()
5051
optimizer.step()
51-
compression_manager.on_step_end()
52-
compression_manager.on_epoch_end()
53-
compression_manager.on_train_end()
52+
compression_manager.callbacks.on_step_end()
53+
compression_manager.callbacks.on_epoch_end()
54+
compression_manager.callbacks.on_train_end()
5455
compression_manager.save("path_to_save")
5556
"""
5657
def __init__(self, component):

0 commit comments

Comments
 (0)