Как получить форму/размер слоев?

Когда я определил такую ​​модель:

def create_basic_model_terse(input, out_dims):

    with default_options(activation=relu):
        model = Sequential([
            LayerStack(3, lambda i: [
                Convolution((5,5), [32,32,64][i], init=glorot_uniform(), pad=True),
                MaxPooling((3,3), strides=(2,2))
            ]),
            Dense(64, init=glorot_uniform()),
            Dense(out_dims, init=glorot_uniform(), activation=None)
        ])

    return model(input)

Как я могу получить какую-то информацию о каждом слое в сети, такую ​​как выходная форма/размеры?


person OlavT    schedule 13.02.2017    source источник


Ответы (1)


Вы можете посмотреть учебные пособия по CNTK 202. Существуют и другие учебные пособия, такие как CNTK 105, в которых также показано, как получить различные атрибуты моделей.

For a model
def create_model():
with default_options(initial_state=0.1):
    return Sequential([
        Embedding(emb_dim),
        Recurrence(LSTM(hidden_dim), go_backwards=False),
        Dense(num_labels)
    ])



model = create_model()
print(len(model.layers))
print(model.layers[0].E.shape)
print(model.layers[2].b.value)

person Sayan Pathak    schedule 14.02.2017
comment
Спасибо, я также получил TensorBoard для работы с CNTK, так что это тоже вариант. - person OlavT; 15.02.2017