albermax / albermax/innvestigate
TypeError: 'function' object is not an iterator --- when using PatternComputer.compute_generator()
- Ngôn ngữ chính
- Python
- Star
- 1.3k
- Fork
- 230
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Hi, I am facing an error when trying to compute patterns with `compute_generator()`:
`TypeError: 'function' object is not an iterator`
(See my code snippet below.)
I couldn't find a solution for quite some time now :/ I am guessing that `compute_generator()` is not happy with the `pattern_comp_generator`-object. On the other hand that object is of type ``... which is an iterator - and from the tracebacks I can not read out _which_ "'function' object" is not an iterator...
## My code snippet:
### imports
```
import keras
from keras.preprocessing import image
import innvestigate
import innvestigate.utils as iutils
```
### load and prepare a model
(used a simple relu CNN which was defined with keras' functional api)
```
model = keras.models.load_model('./my_model.hdf5')
model_wo_softmax = iutils.keras.graph.model_wo_softmax(model)
```
### data generator
(in the folder './data/train/' there is a folder for each class with the according .jpg images in it.)
```
def preprocess_input(x):
return x/255
pattern_comp_datagen = image.ImageDataGenerator(preprocessing_function=preprocess_input)
pattern_comp_generator = pattern_comp_datagen.flow_from_directory('./data/train/',
target_size=(28,28),
color_mode='rgb',
batch_size=32,
class_mode='categorical',
shuffle=True
)
```
### compute pattern
```
pattern_comp = innvestigate.tools.pattern.PatternComputer(model_wo_softmax,
pattern_type='relu')
patterns = pattern_comp.compute_generator(pattern_comp_generator,
steps_per_epoch=1500,
verbose=1)
```
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Đánh giá
Issue này chưa được đánh giá.