Skip to content

AttributeError: 'CallbackHandler' object has no attribute 'tokenizer' when using SetFitTrainer in zero shot cold-start notebook #80

@pavithranair

Description

@pavithranair

Bug description

Hi! I'm running the notebook 04-zero-shot-cold-start.ipynb from the small-text repo. During execution, when calling:

clf.fit(cold_start_dataset, setfit_train_kwargs=setfit_train_kwargs)

I encounter the following error:

AttributeError: 'CallbackHandler' object has no attribute 'tokenizer'

Any assistance resolving this would be greatly appreciated.

Environment:

Python version: 3.11.13
small-text version: small-text[transformers]==2.0.0dev2
small-text integrations (e.g., transformers): small-text[transformers]==2.0.0dev2
PyTorch version (if applicable): N/A

Installation (pip, conda, or from source): pip
CUDA version (if applicable): N/A

Additional information


AttributeError Traceback (most recent call last)
/tmp/ipython-input-3480217872.py in <cell line: 0>()
37
38
---> 39 active_learner, train = initialize_with_coldstart()

8 frames
/tmp/ipython-input-3480217872.py in initialize_with_coldstart()
29
30 clf = clf_factory.new()
---> 31 clf.fit(cold_start_dataset, setfit_train_kwargs=setfit_train_kwargs)
32
33 active_learner.initialize(clf)

/usr/local/lib/python3.11/dist-packages/small_text/integrations/transformers/classifiers/setfit.py in fit(self, train_set, validation_set, setfit_train_kwargs)
265
266 self.model.model_body.to(self.device)
--> 267 return self._fit(sub_train, sub_valid, setfit_train_kwargs)
268
269 def _get_train_and_valid_sets(self, x_train, y_train, x_valid, y_valid):

/usr/local/lib/python3.11/dist-packages/small_text/integrations/transformers/classifiers/setfit.py in _fit(self, sub_train, sub_valid, setfit_train_kwargs)
280 def _fit(self, sub_train, sub_valid, setfit_train_kwargs):
281 seed = np.random.randint(np.iinfo(np.uint32).max, dtype=np.uint32).item()
--> 282 trainer = SetFitTrainer(
283 self.model,
284 sub_train,

/usr/local/lib/python3.11/dist-packages/setfit/trainer.py in init(self, model, train_dataset, eval_dataset, model_init, metric, metric_kwargs, loss_class, num_iterations, num_epochs, learning_rate, batch_size, seed, column_mapping, use_amp, warmup_proportion, distance_metric, margin, samples_per_label)
871 loss=loss_class,
872 )
--> 873 super().init(
874 model=model,
875 args=args,

/usr/local/lib/python3.11/dist-packages/setfit/trainer.py in init(self, model, args, train_dataset, eval_dataset, model_init, metric, metric_kwargs, callbacks, column_mapping)
326
327 callbacks = callbacks + [ModelCardCallback(self)] if callbacks else [ModelCardCallback(self)]
--> 328 self.st_trainer = BCSentenceTransformersTrainer(
329 setfit_model=model,
330 setfit_args=self.args,

/usr/local/lib/python3.11/dist-packages/setfit/trainer.py in init(self, setfit_model, setfit_args, callbacks, **kwargs)
92 for callback in callbacks:
93 self.add_callback(callback)
---> 94 self.callback_handler.on_init_end(self.args, self.state, self.control)
95
96 @Property

/usr/local/lib/python3.11/dist-packages/transformers/trainer_callback.py in on_init_end(self, args, state, control)
500
501 def on_init_end(self, args: TrainingArguments, state: TrainerState, control: TrainerControl):
--> 502 return self.call_event("on_init_end", args, state, control)
503
504 def on_train_begin(self, args: TrainingArguments, state: TrainerState, control: TrainerControl):

/usr/local/lib/python3.11/dist-packages/setfit/trainer.py in (*args, **kwargs)
85 return control
86
---> 87 self.callback_handler.call_event = lambda *args, **kwargs: overwritten_call_event(
88 self.callback_handler, *args, **kwargs
89 )

/usr/local/lib/python3.11/dist-packages/setfit/trainer.py in overwritten_call_event(self, event, args, state, control, **kwargs)
73 st_model=self.model,
74 st_args=args,
---> 75 tokenizer=self.tokenizer,
76 optimizer=self.optimizer,
77 lr_scheduler=self.lr_scheduler,

AttributeError: 'CallbackHandler' object has no attribute 'tokenizer'

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions