import numpy as np
import tensorflow as tf
from tensorflow.keras.layers import *
from tensorflow.keras.models import *
def to_tensor(x):
return x.to_tensor(shape=(None, 4))
X = tf.ragged.constant(
[[3, 1, 4, 1], [], [5, 9, 2], [],[6]])
y = tf.random.normal(shape=(5,1))
inp = Input(shape=(None,), ragged=True)
x = Lambda(to_tensor)(inp)
out = Dense(1)(x)
m = Model(inp,out)
m.compile(optimizer='adam',metrics=['accuracy'])
history = m.fit(X, y, epochs=10)
在keras上创建一个自定义层,将粗糙的张量转换为张量,然后将其注入到BatchNormalization层中
我真的试过了。这是我所做的,有一个问题,但我没有时间来解决它。这可能对你有帮助,但也许没有
在下面的代码中,我创建了一个超级简单的“to_tensor”层,可以在规范化之前使用它
这算是可行的,但由于我在to.tensor()行中创建了一个新的张量,tf再也找不到任何可训练的变量了
相关问题 更多 >
编程相关推荐