Я хочу иметь возможность извлекать непрерывный диапазон подслоев моей модели Keras в отдельную подмодель. Ниже приведен простой пример, который воспроизводит ошибку, с которой я сталкиваюсь.
import tensorflow as tf
from tensorflow.keras import Model
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import Layer
from tensorflow.keras.layers import Input
inp = Input(shape=(128))
d1 = Dense(128, name='d1')(inp)
d2 = Dense(128, name='d2')(d1)
d3 = Dense(128, name='d3')(d2)
out = Dense(128, name='d4')(d3)
model = Model(inp, out)
inp_d2 = model.get_layer('d2').input
sub_model = Model(inp_d2, model.output)
Это вызывает:
ValueError: Graph disconnected: cannot obtain value for tensor Tensor("input_1:0", shape=(None, 128), dtype=float32) at layer "input_1". The following previous layers were accessed without issue: []
Кто-нибудь знает, почему возникает эта ошибка или как ее исправить?