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

image_features[0,:] = get_image_model(CNN_weights_file_name).predict(im)[0] ValueError: could not broadcast input array from shape (1000) into shape (4096) #23

Open
yashkark opened this issue Dec 1, 2018 · 8 comments

Comments

@yashkark
Copy link

yashkark commented Dec 1, 2018

No description provided.

@yashkark
Copy link
Author

yashkark commented Dec 1, 2018

keras version 2.2.4
tensorflow version 1.12.0

@Archan2607
Copy link

Downgrade your keras version to 2.0, it will work.

@AmrataRamchandani
Copy link

AmrataRamchandani commented Apr 15, 2019

The new error arises by downgrading the keras version.
@iamaaditya Is there any other way out for this problem ?

@akyso168
Copy link

You need to remove the top layers of the pre-trained VGG and keep the Dense layer of 4096 as your output

@lzy119
Copy link

lzy119 commented Jan 17, 2021

@yashkark @AmrataRamchandani Hello, I have the same problem. Have you solved the problem? Can you share with us how to solve it? Thank you very much!

@Dishank99
Copy link

did any one find any working solution for this issue?

@Shahidkhan990
Copy link

Shahidkhan990 commented Mar 18, 2021

I have facing this issue can anyone help?

AttributeError Traceback (most recent call last)
~\RobotLab\lib\site-packages\tensorflow_core\python\keras\engine\base_layer.py in setattr(self, name, value)
2260 try:
-> 2261 super(tracking.AutoTrackable, self).setattr(name, value)
2262 except AttributeError:

AttributeError: can't set attribute

During handling of the above exception, another exception occurred:

AttributeError Traceback (most recent call last)
in
----> 1 model_vgg = get_image_model(CNN_weights_file_name)
2 plot_model(model_vgg, to_file='model_vgg.png')

in get_image_model(CNN_weights_file_name)
3 with the weights. Requires the file VGG.py inside models/CNN '''
4 from models.CNN.VGG import VGG_16
----> 5 image_model = VGG_16(CNN_weights_file_name)
6 image_model.layers.pop()
7 image_model.layers.pop()

~\OneDrive\Documents\Process Studio Workspace\VQA_Demo-master\models\CNN\VGG.py in VGG_16(weights_path)
102
103 #Remove the last two layers to get the 4096D activations
--> 104 model = pop(model)
105 model = pop(model)
106

~\OneDrive\Documents\Process Studio Workspace\VQA_Demo-master\models\CNN\VGG.py in pop(model)
22 model.outbound_nodes = []
23 else:
---> 24 model.layers[-1].outbound_nodes = []
25 model.outputs = [model.layers[-1].output]
26 model.built = False

~\RobotLab\lib\site-packages\tensorflow_core\python\keras\engine\base_layer.py in setattr(self, name, value)
2264 ('Can't set the attribute "{}", likely because it conflicts with '
2265 'an existing read-only @Property of the object. Please choose a '
-> 2266 'different name.').format(name))
2267 return
2268

AttributeError: Can't set the attribute "outbound_nodes", likely because it conflicts with an existing read-only @Property of the object. Please choose a different name.

@svical
Copy link

svical commented Nov 21, 2022

Finally, I overcame this issue. It's a package version problem. Use python==3.5, tensorflow==1.2.0, keras==2.0.6, scikit-learn==0.18.1, spacy==2.0.2, opencv-python==3.2.0.7 and it will work. I have uploaded my anaconda env at https://drive.google.com/file/d/1-9QUB7ho3jzXmFN2eM-6K4O5uvkGAOGZ/view?usp=sharing.

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