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

Issues when passing multi-output model as argument #608

Open
VasylKor opened this issue Jan 5, 2021 · 3 comments
Open

Issues when passing multi-output model as argument #608

VasylKor opened this issue Jan 5, 2021 · 3 comments

Comments

@VasylKor
Copy link

VasylKor commented Jan 5, 2021

Hi there,
I got this error whenever I pass my model (converted in a foolbox model) as argument in accuracy() or attack().

/usr/local/lib/python3.6/dist-packages/foolbox/utils.py in accuracy(***failed resolving arguments***)
     13     del inputs, labels
     14 
---> 15     predictions = fmodel(inputs_).argmax(axis=-1)
     16     accuracy = (predictions == labels_).float32().mean()
     17     return accuracy.item()

/usr/local/lib/python3.6/dist-packages/foolbox/models/base.py in __call__(self, inputs)
    100         x, restore_type = ep.astensor_(inputs)
    101         y = self._preprocess(x)
--> 102         z = ep.astensor(self._model(y.raw))
    103         return restore_type(z)
    104 

/usr/local/lib/python3.6/dist-packages/eagerpy/astensor.py in astensor(x)
     52     if name == "numpy" and isinstance(x, m[name].ndarray):  # type: ignore
     53         return NumPyTensor(x)
---> 54     raise ValueError(f"Unknown type: {type(x)}")
     55 
     56 

ValueError: Unknown type: <class 'list'>

It's worth mentioning that my Keras model is not Sequential and has multiple outputs. When reducing the model output to one it goes without issues. Is that multi-output models must be set up differently or they are just not supported?

@karthikiitm87
Copy link

HI @VasylKor did you find the solution for this?

@matt-sharp
Copy link

Keen to know the answer also @VasylKor . I'm trying to use YOLOv7 which outputs a tuple and produces the same error.

@VasylKor
Copy link
Author

VasylKor commented Oct 2, 2024

Hi @matt-sharp, @karthikiitm87.
Alas, I could not find the solution. After a week or so I ended up (badly) reinventing the wheel.

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

3 participants