bethgelab / bethgelab/foolbox

Issues when passing multi-output model as argument

Open
#608 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
3k
Forks
442
PR merge metrics
No merged PRs in 30d

Description

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:
```

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?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.