python - 如何将单层神经网络乘以实数?
问题描述
这个问题很简单。我想将我的神经网络中的单层乘以一个数字。
这个数字是n = max(abs(input))
,所以实际输入将是input/n
,而输出将是output*n
。我想知道是否有办法在我的神经网络模型中插入这些计算。
在旁注中,我想这样做是因为我在某处读到一个常见的解决方案是规范化输入然后非规范化输出,这就是我想要做的。然而,在我的多输入神经网络中,一个输入是二进制数据,另一个是常规实数,所以我只想规范化这个真实输入,并对特定的下游层进行反规范化。
解决方案
如果我理解正确,您想将层的输出乘以一个标量数量n
。您可以使用自定义模型:
class MyModel(tf.keras.Model):
def __init__(self):
super(MyModel, self).__init__()
self.dense1 = Dense(10)
self.dense2 = Dense(20)
def call(self, inputs):
x = self.dense1(inputs)
x = self.dense2(scalar_value*x)
我不知道你的模型是怎么搭建的,但是你可以在init方法中添加你需要的层,然后在call方法中调用它们来产生最终的结果。
推荐阅读
- kotlin - Refcount Observable 不会在第二次订阅时发出
- python - Django 使用外键添加到数据库,同时仍显示来自其他模型的信息
- php - 删除 OceanWP 主题中产品页面标题下的子标题文本
- jquery - 带有附加数据的标签中声明的 jQuery 触发事件
- python - 无法从购物车页面-django url 错误访问我的在线商店的订单页面
- solr - Solr Cloud - Solr 挂起/无法启动或无法完全创建集合:
- reactjs - React fetch 有错误 fetch 被 CORS 策略阻止
- ruby-on-rails - Rails 嵌套资源显示两次.. 一次在开始,一次在结束
- c++ - 使用 Matlab C++ 编译器将 C++ 代码转换为 Matlab
- php - 如何在引导程序中将 mysql 表记录显示为导航