在纯Python中,我可以很容易地做到这一点:
from random import choice
def init_by_plus_or_menus() -> int:
return choice([-1, 1])
字符串
Keras文档在示例Keras.backend(tf)函数中使用:
def my_init(shape, dtype=None):
return tf.random.normal(shape, dtype=dtype)
layer = Dense(64, kernel_initializer=my_init)
型
,但是没有一个函数类似于标准的Python random.choice或它的元素模拟。
我试过这个:
def init_plus_or_minus(shape, dtype=None):
return backend.constant(value=choice([-1, 1]), shape=shape, dtype=dtype)
# Testing
if __name__ == '__main__':
print(init_plus_or_minus(shape=(10,), dtype='int8'))
型
终端让我变成了这样:
第一个月
正如你所看到的,结果Tensor是由一次生成的随机值填充的,这不是我想要的。
1条答案
按热度按时间46scxncf1#
我想我在tensorflow.constant的“value”参数中使用numpy.choice生成的数组解决了这个问题:
字符串
终端将此返回:
型