Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'SGD' object has no attribute 'get_updates' #2977

Open
beingSherlock opened this issue Aug 10, 2023 · 8 comments
Open

'SGD' object has no attribute 'get_updates' #2977

beingSherlock opened this issue Aug 10, 2023 · 8 comments

Comments

@beingSherlock
Copy link

beingSherlock commented Aug 10, 2023

AttributeError Traceback (most recent call last)
in
1 # train weights (output layers or 'heads')
----> 2 model.train(dataset_train, dataset_train, learning_rate=0.001, epochs=5, layers='heads')

~\Downloads\Mask-R-CNN-using-Tensorflow2-main\mrcnn\model.py in train(self, train_dataset, val_dataset, learning_rate, epochs, layers, augmentation, custom_callbacks, no_augmentation_sources)
2367 workers = multiprocessing.cpu_count()
2368
-> 2369 self.keras_model.fit(
2370 train_generator,
2371 initial_epoch=self.epoch,

~\AppData\Roaming\Python\Python38\site-packages\keras\engine\training_v1.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing, **kwargs)
854
855 func = self._select_training_loop(x)
--> 856 return func.fit(
857 self,
858 x=x,

~\AppData\Roaming\Python\Python38\site-packages\keras\engine\training_generator_v1.py in fit(self, model, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_freq, max_queue_size, workers, use_multiprocessing)
645 y, sample_weight, validation_split=validation_split
646 )
--> 647 return fit_generator(
648 model,
649 x,

~\AppData\Roaming\Python\Python38\site-packages\keras\engine\training_generator_v1.py in model_iteration(model, data, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, validation_freq, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch, mode, batch_size, steps_name, **kwargs)
280
281 is_deferred = not model._is_compiled
--> 282 batch_outs = batch_function(*batch_data)
283 if not isinstance(batch_outs, list):
284 batch_outs = [batch_outs]

~\AppData\Roaming\Python\Python38\site-packages\keras\engine\training_v1.py in train_on_batch(self, x, y, sample_weight, class_weight, reset_metrics)
1178
1179 self._update_sample_weight_modes(sample_weights=sample_weights)
-> 1180 self._make_train_function()
1181 outputs = self.train_function(ins)
1182

~\AppData\Roaming\Python\Python38\site-packages\keras\engine\training_v1.py in _make_train_function(self)
2282 with backend.name_scope("training"):
2283 # Training updates
-> 2284 updates = self.optimizer.get_updates(
2285 params=self._collected_trainable_weights,
2286 loss=self.total_loss,

AttributeError: 'SGD' object has no attribute 'get_updates'

I'm new to Machine Learning please help me with this error.

@darwinOne
Copy link

@beingSherlock You must upgrade Tensorflow to version 2.5x or above. Its work for me.

@beingSherlock
Copy link
Author

Ok thanks for the help. Had to change some things on system files, it worked fine after that.

@RomanProkazov
Copy link

@beingSherlock Which things did you change on system files? Upgrading to tensorflow 2.5 is not a solution for me, because it is gonna be incompatable with other packages in my environment. I use tensorflow 2.12.0, facing the same issue.

@ShSi1001
Copy link

@beingSherlock can you tell what exactly did you change?

@akshayr5705
Copy link

akshayr5705 commented Sep 30, 2023

I had the same error .
i've done some changes in the model.py file inside the mrcnn folder worked for me.

specifically i changed the line

2168-> optimizer = tf.keras.optimizers.SGD(....)
to

2168-> optimizer = tf.keras.optimizers.legacy.SGD(...)

@arabinda90
Copy link

arabinda90 commented Sep 30, 2023

Ok thanks for the help. Had to change some things on system files, it worked fine after that.

@beingSherlock Can you please tell me what actually needs to change?

@amitkm10
Copy link

Can you please tell me what exactly need to do in the code or configuration

@kanzajamil
Copy link

@beingSherlock how you resolved it? I am getting the same error and tf.keras.optimizers.legacy.SGD is not working for me! also I'm using version 2.14.0 . Please help anyone who resolved it using version 2.14.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants