Верхний треугольный инициализатор ядра в Керасе - PullRequest
0 голосов
/ 16 апреля 2019

Интересно, есть ли в Keras инициализатор ядра, который инициализирует ядро ​​со случайными значениями, за исключением того, что нижние левые значения инициализируются как нули. Я хочу использовать это в пользовательском слое Keras в методе add_weights. Или, может быть, надежная операция TensorFlow? Спасибо!

1 Ответ

0 голосов
/ 16 апреля 2019

Методы:

Вы можете определить свой собственный инициализатор.И используйте np.triu() для создания верхнего треугольного ядра.

Небольшой пример:

from tensorflow.keras import layers
import tensorflow as tf
import numpy as np
def my_init(shape, dtype=None):
    init = tf.random_normal(shape, dtype=dtype)
    return np.triu(init)
model = tf.keras.Sequential()
model.add(layers.Dense(7 * 7 * 256, kernel_initializer=my_init, input_shape=(100,)))
model.add(layers.Reshape((7, 7, 256)))
model.add(layers.Conv2DTranspose(128, (5, 5), strides=(1, 1), kernel_initializer=my_init, padding='same', use_bias=False))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...