Python 如何通过保存来初始化张量对象?(无)进入?
假设我有一个张量对象Python 如何通过保存来初始化张量对象?(无)进入?,python,tensorflow,keras,Python,Tensorflow,Keras,假设我有一个张量对象h1=(?,256) 如何通过保留“?”(无)条目将h1初始化为h1=(?,零(256)) (即初始化h1[1]=零(256),保留“无”原样) 我的代码: h1 = np.zeros((h1.shape[0], h1.shape[1])) entryh1[1] = np.zeros(256) 但是它不起作用。您可以使用后端函数零,就像一样,它将完全实现您想要的,让我们将其包装在Lambda层上,以便您可以将其传递到其他层: import keras.backend
h1=(?,256)
如何通过保留“?”(无)条目将h1
初始化为h1=(?,零(256))
(即初始化h1[1]=零(256)
,保留“无”原样)
我的代码:
h1 = np.zeros((h1.shape[0], h1.shape[1]))
entryh1[1] = np.zeros(256)
但是它不起作用。您可以使用后端函数
零,就像
一样,它将完全实现您想要的,让我们将其包装在Lambda
层上,以便您可以将其传递到其他层:
import keras.backend as K
# ...
gen_zeros = Lambda(lambda x: K.zeros_like(x), name='gen_zeros')
h1_zeros = = gen_zeros(h1) # will give zeros of h1.shape
您可以查看,以了解有关后端中可用于自定义层的函数的更多信息。您可以编写h1的初始化以澄清“?”请尝试此
h1=(无,numpy.zeros(256))
。尝试h1[1]=np.zeros(256)
将不起作用,因为元组不支持项赋值h1是“张量”(“双向_1”,shape=(?,256),dtype=float32)。h1=(无,numpy.zeros(256))之后将这个h1输入到LSTM的一个状态输入中,它给出了:AttributeError:“tuple”对象没有属性“get_shape”,谢谢。我需要它的原因是尽可能减少模块的输入数(尽管这可能会使模型摘要有点糟糕)。