Il mio modello è addestrato sulle immagini digitali ( MNIST dataset
). Sto provando a stampare l'output del secondo strato della mia rete, un array di 128 numeri.
Dopo aver letto un sacco di esempi - per esempio questo , e questo , o questo .
Non sono riuscito a farlo sulla mia rete. Nessuna delle soluzioni funziona con il mio algoritmo.
Link a Colab: https://colab.research.google.com/drive/1MLbpWJmq8JZB4_zKongaHP2o3M1FpvAv?fbclid=IwAR20xRz2i6sFS-Nm6Xwfk5hztdXOuxY4tZaDRXxAT3b
Ho ricevuto molti messaggi di errore diversi. Ho provato a gestirli tutti, ma non sono riuscito a capirlo da solo.
Cosa mi sto perdendo? Come produrre il secondo livello?
Se la mia forma è (28,28)
: quale dovrebbe essere il tipo e il valore di input_shape
?
Prove ed errori non riusciti, ad esempio:
(1)
for layer in model.layers:
get_2nd_layer_output = K.function([model.layers[0].input],[model.layers[2].output])
layer_output = get_2nd_layer_output(layer)[0]
print('\nlayer output: get_2nd_layer_output=, layer=', layer, '\nlayer output: get_2nd_layer_output=', get_2nd_layer_output)
TypeError: gli input dovrebbero essere un elenco o una tupla.
(2)
input_shape=(28, 28)
inp = model.input # input placeholder
outputs = [layer.output for layer in model.layers] # all layer outputs
functor = K.function([inp, K.learning_phase()], outputs ) # evaluation function
# Testing
test = np.random.random(input_shape)[np.newaxis,...]
layer_outs = functor([test, 0.])
print('layer_outs',layer_outs)
tensorflow.python.framework.errors_impl.FailedPreconditionError: errore durante la lettura della variabile di risorsa dense_1 / bias dal contenitore: localhost. Ciò potrebbe significare che la variabile non è stata inizializzata. Non trovato: il localhost del contenitore non esiste. (Impossibile trovare la risorsa: localhost / dense_1 / bias) [[{{node dense_1 / BiasAdd / ReadVariableOp}}]]