首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在tensorflow 2 (tf.keras)中进行空洞卷积

如何在tensorflow 2 (tf.keras)中进行空洞卷积
EN

Stack Overflow用户
提问于 2020-10-30 15:00:54
回答 1查看 1.1K关注 0票数 1

我正在尝试将一些代码从tensorflow 1.x转换到tensorflow 2.x。到目前为止一切都很顺利,但我被困在了atrous卷积上。与其他层不同,似乎没有一对一的转换。

到目前为止,我一直在将所有东西统一到tf.keras。有一个纯粹的keras实现here和一个tf.nn.atrous_conv2d实现here,但我也不确定是否可以在tf.keras.Model函数here中使用它们。

代码如下:

代码语言:javascript
复制
with tf.variable_scope('aconv1d_' + name):
        shape = [None, 30, 128]
        kernel = tf.get_variable('kernel', (1, size, shape[-1], n_filters), dtype=tf.float32,
                                 initializer=tf.contrib.layers.xavier_initializer())
        if bias:
            b = tf.get_variable('b', [shape[-1]], dtype=tf.float32, initializer=tf.constant_initializer(0))
        out = tf.nn.atrous_conv2d(tf.expand_dims(input_tensor, dim=1), kernel, rate=rate, padding='SAME') + (
            b if bias else 0)
        out = tf.squeeze(out, [1])

        return out

我只想转换它,把它放到keras functional中,执行model.fit,然后运行。

谢谢你帮助像我这样的菜鸟。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-30 16:08:07

由于参数"dilation_rate“,在tensorflow2.x版本中已经提供了空洞卷积或扩张卷积。默认情况下,如果查看https://www.tensorflow.org/api_docs/python/tf/keras/layers/Conv2D,则将其设置为(1,1)。将其修改为其他值,例如(2,2),您将得到膨胀/空洞卷积。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64603919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档