gpt4 book ai didi

python - 在 tensorflow 模型中随机选择层

转载 作者:行者123 更新时间:2023-12-05 05:50:33 25 4
gpt4 key购买 nike

我想在我的网络中使用具有特定概率的不同层。图层是以下类。

class plus1(keras.layers.Layer):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def call(self, X):
return X + 1
def compute_output_shape(self, batch_input_shape):
return batch_input_shape

class plus2(keras.layers.Layer):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def call(self, X):
return X + 2
def compute_output_shape(self, batch_input_shape):
return batch_input_shape

class plus3(keras.layers.Layer):
def __init__(self, **kwargs):
super().__init__(**kwargs)
def call(self, X):
return X + 3
def compute_output_shape(self, batch_input_shape):
return batch_input_shape

网络如下。

def f1():
return plus1()
def f2():
return plus2()
def f3():
return plus3()

def simple_model(input_num):
input_layer = Input(input_num)
rand = tf.random.uniform((1,), minval=0, maxval=3, dtype=tf.int32)
r = tf.switch_case(rand[0], branch_fns={0: f1, 1: f2, 2: f3})
res = r(input_layer)
model = Model(inputs=input_layer, outputs=res)
return model

model = simple_model([1,])

每次运行下面的代码时,我都会得到相同的输出,但我期望得到不同的结果。有什么办法可以实现吗?

model.predict([1])
>>> array([[4.]], dtype=float32)

最佳答案

我遇到了同样的问题,但我找不到解决方案。所以我实现了不同的网络,然后从它们的输出中随机选择。

关于python - 在 tensorflow 模型中随机选择层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70507083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com