【发布时间】:2022-01-08 07:17:43
【问题描述】:
我想知道是否可以使用tensorflow 创建一个自定义的网络结构,其中输入层与一个不与输入层相邻的隐藏层有额外的连接。例如,假设我有一个简单的网络结构,如下所示。
import numpy as np
import random
import tensorflow as tf
from tensorflow import keras
m = 200
n = 5
my_input= np.random.random([m,n])
my_output = np.random.random([m,1])
my_model = tf.keras.Sequential([
tf.keras.layers.Flatten(input_shape=(my_input.shape[1],)),
tf.keras.layers.Dense(32, activation='softmax'),
tf.keras.layers.Dense(32, activation='tanh'),
tf.keras.layers.Dense(32, activation='relu'),
tf.keras.layers.Dense(1)
])
my_model.compile(loss='mse',optimizer = tf.keras.optimizers.Adam(learning_rate=0.001))
res = my_model.fit(my_input, my_output, epochs=50, batch_size=1,verbose=0)
有没有办法让具有输入值的第一层与具有 ReLU 激活的第三层有额外的连接?这样做时,我希望在每个连接中都有不同的约束。例如,对于来自上一层的连接,我想使用GlorotNormal 作为我的权重初始化。至于来自输入层的额外连接,我想使用HeUniform初始化。
我试着在下面想象一下我的想法。
【问题讨论】:
标签: python tensorflow keras tensorflow2.0 keras-layer