如何创建 Keras 层来执行 4D 卷积 (Conv4D)?

2024-05-10

看起来tf.nn.convolution应该能够进行 4D 卷积,但我无法成功创建 Keras 层来使用此函数。

我尝试过使用 KerasLambda层来包裹tf.nn.convolution功能,但也许其他人有更好的主意?

我想利用数据的高维结构,因此重塑可能无法捕获数据集的性质。


超级酷的问题。

这需要一个自定义层(具有可训练的参数)。
以下接受任意数量的维度,您可以通过以下方式控制kernel_size.

class Conv(Layer):
    def __init__(self, filters, kernel_size, padding='VALID', **kwargs):
        self.filters = filters
        self.kernel_size = kernel_size #must be a tuple!!!!
        self.padding=padding

        super(Conv, self).__init__(**kwargs)

    #using channels last!!!
    def build(self, input_shape):
        spatialDims = len(self.kernel_size)
        allDims = len(input_shape)
        assert allDims == spatialDims + 2 #spatial dimensions + batch size + channels

        kernelShape = self.kernel_size + (input_shape[-1], self.filters)
            #(spatial1, spatial2,...., spatialN, input_channels, output_channels)

        biasShape = tuple(1 for _ in range(allDims-1)) + (self.filters,)


        self.kernel = self.add_weight(name='kernel', 
                                      shape=kernelShape
                                      initializer='uniform',
                                      trainable=True)
        self.bias = self.add_weight(name='bias', 
                                    shape = biasShape, 
                                    initializer='zeros',
                                    trainable=True)
        self.built = True

    def call(self, inputs):
        results = tf.nn.convolution(inputs, self.kernel, padding=self.padding)
        return results + self.bias

    def compute_output_shape(self, input_shape)
        sizes = input_shape[1:-1]

        if self.padding='VALID' or self.padding='valid':
            sizes = [s - kSize + 1 for s, kSize in zip(sizes, self.kernel_size)]

        return input_shape[:1] + sizes + (self.filters,)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建 Keras 层来执行 4D 卷积 (Conv4D)? 的相关文章

  • 在 GPU 上训练时如何处理非确定性?

    在调整超参数以使模型性能更好时 我注意到每次运行代码时获得的分数 以及创建的模型 都是不同的 尽管修复了随机操作的所有种子 如果我在CPU上运行就不会出现这个问题 我搜索了一下 发现这是使用 GPU 训练时的常见问题 这是一个非常好的 详细
  • 如何在对象检测 API Tensorflow 中仅检测人体

    我在用tensorflow对象检测 API 用于检测对象 它在我的 Windows 系统中运行良好 我如何对其进行更改以仅检测提到的对象 例如 我只想检测人类而不是所有对象 根据此中的第 1 条评论answer https stackove
  • 从图中删除节点或重置整个默认图

    使用默认全局图时 是否可以在添加节点后将其删除 或者将默认图重置为空 当我在 IPython 中交互地使用 TF 时 我发现自己必须反复重新启动内核 如果可能的话 我希望能够更轻松地尝试图表 更新 11 2 2016 tf reset de
  • 如何将 std::vector 转换为张量而不在 C++ 中的张量流中进行复制?

    在c 中 多维矩阵存储在std vector
  • 具有高级计算功能的 Keras 自定义层

    我想写一些自定义的Keras分层并在层中进行一些高级计算 例如使用 Numpy Scikit OpenCV 我知道有一些数学函数keras backend可以对张量进行操作 但我需要一些更高级的功能 但是 我不知道如何正确实现这一点 我收到
  • 使用输入管道时如何替换 feed_dict?

    假设您有一个已与feed dict到目前为止将数据注入到图表中 每隔几个时期 我就会通过将任一数据集的一批数据输入到我的图表中来评估训练和测试损失 现在 出于性能原因 我决定使用输入管道 看看这个虚拟示例 import tensorflow
  • Tensorflow推荐的系统规格?

    我开始在我的 RHEL 6 5 机器上安装 Tensorflow 但事实证明 Tensorflow 需要 glibc gt 2 17 而 rhel 6 5 上默认的 glibc 是 2 12 我想知道是否有人可以帮助我了解张量流的最低 推荐
  • 在 Tensorflow 对象检测 API 中将图像裁剪到边界框

    如何将图像裁剪到 Tensorflow 中的边界框 我正在使用Python API 从文档来看 tf image crop to bounding box image offset height offset width target he
  • Tensorflow图像读取空

    这个问题是基于 Tensorflow图像读取与显示 https stackoverflow com questions 33648322 tensorflow image reading display 根据他们的代码 我们得到以下内容 s
  • tf.gfile 在 TensorFlow 中起什么作用?

    我见过人们使用以下几个函数tf gfile例如tf gfile GFile or tf gfile Exists 我有一个想法tf gfile处理文件 但是 我无法找到官方文档来了解它还提供了什么 如果你能帮我的话那就太好了 对于登陆这里的
  • 使用 Keras 时,验证集中未见的类别会出现错误

    我有由数值变量和分类变量组成的数据 分类变量有很多类别 因此我使用嵌入来表示这些类别 我的模型是一个简单的神经网络 我知道当你定义嵌入层时你需要通过input dim number of categories 1为了解释训练中看不见的类别
  • 使用 flow_from_dataframe y_col 的正确“值”是什么

    我正在用 pandas 读取 csv 文件 并给出存储在中的列名称colname colnames file label Read data from file data pd read csv Hand Annotations 2 csv
  • conv1D 中形状的尺寸

    我尝试过构建一个只有一层的 CNN 但遇到了一些问题 事实上 编译器告诉我 ValueError 检查模型输入时出错 预期的 conv1d 1 input 具有 3 个维度 但得到形状为 569 30 的数组 这是代码 import num
  • 从字符串列表创建 TfRecords 并在解码后在张量流中提供图形

    目的是创建 TfRecords 数据库 给定 我有 23 个文件夹 每个文件夹包含 7500 个图像 以及 23 个文本文件 每个文件有 7500 行描述单独文件夹中 7500 个图像的特征 我通过以下代码创建了数据库 import ten
  • 如何强制tensorflow使用所有可用的GPU?

    我有一个 8 GPU 集群 当我运行Kaggle 的一段 Tensorflow 代码 https www kaggle com keegil keras u net starter lb 0 277 scriptVersionId 2164
  • 有没有办法在bigquery中使用kmeans、tensorflow保存的模型?

    我知道这有点愚蠢 因为 BigQueryML 现在为 Kmeans 提供了良好的初始化 尽管如此 我还是需要在张量流中训练一个模型 然后将其传递给 BigQuery 进行预测 我保存了模型 一切正常 直到我尝试将其上传到 bigquery
  • 神经网络 - 我的网络似乎训练得很好,但在分类报告中它是完全随机的

    我正在训练一个模型来对 3 种类型的车辆进行分类 一切看起来都很顺利 直到我尝试用我的模型预测任何事情 预测结果是完全随机的 我使用 3 个类别的 15000 张图像 每个类别 5000 个 进行训练 并使用 3 个类别的 6000 个图像
  • Tensorflow 到 ONNX 的转换

    我目前正在尝试转换我使用本教程创建的已保存 且正在工作 的 pb 文件 https github com thtrieu darkflow https github com thtrieu darkflow 到 onnx 文件中 我目前正在
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 在tensorflow.js中对张量进行分区、屏蔽或过滤

    我有 2 个相同长度的张量 data and groupIds 我想分开data通过相应的值分成几组groupId 例如 const data tf tensor 1 2 3 4 5 const groupIds tf tensor 0 1

随机推荐

  • 在 R 中打印绘图时第一页为空

    我正在尝试创建一个包含多个图的pdf 更具体地说 我想保存我的图 每页 4 个 因此 我在 r 中有以下代码 可以工作 但将页面留空 第一个 pdf Plots plots numeric four in page pdf paper a4
  • 通过 org.springframework.orm.hibernate4.LocalSessionFactoryBean 创建 HibernateTemplate

    我使用 Spring 3 1 Hibernate 4 我创建了以下内容sessionFactory
  • 在类之间调度事件

    我有一个自定义事件类 public class FFTDrawEvent extends Event public static const DRAW EVENT String drawEvent private var param Arr
  • MPMoviePlayerController 的工具栏上有一个自定义按钮

    您可能在 iPhone 中通过 YouTube 观看过视频 普通 MPMoviePlayerController 有上一个 下一个和播放 暂停按钮 Youtube 播放器上有两个额外的按钮 gt 添加到左侧的收藏夹 gt 通过电子邮件发送右
  • Gradle 5 JUnit BOM 和 Spring Boot 版本不正确

    我正在使用 Gradle 5 的 BOM 物料清单 feature https docs gradle org 5 0 userguide managing transitive dependencies html sec bom impo
  • 从流中读取 PNG 文件

    我试图为 android mobile so 在服务器端构建 RDP 应用程序 我使用机器人类发送 png 图像 但在客户端我无法读取该消息并将其打印在我的 android 设备上 我正在使用以下代码来读取 JPEG 文件正文数据 并且我能
  • 在 Python 2.6 中访问外部作用域

    比如说 我有一些带有变量的作用域 并且在此作用域中调用的函数想要更改一些不可变变量 def outer s qwerty n 123 modify def modify s abcd n 456 是否有可能以某种方式访问 外部范围 就像是n
  • perl xs - 从 c 数组返回 perl 数组

    使用 XS 我尝试将值从 C 数组传递到可在脚本中使用的 Perl 数组 这是我的 xs 文件中的代码 AV DoubleArray getPerlArray CODE r newAV for size t i 0 i lt THIS gt
  • 如何使用 JSON 结果更新 Extjs 进度条?

    我在让进度条从 Json 结果中检索进度并根据每 10 秒的计时器检查更新进度条时遇到一些困难 我可以创建这样的 json 结果 success true progress 0 2 我想总体思路是 我需要一个间隔设置为 10 秒的任务 并让
  • 既然 Gradle 和 Maven 都弃用了 http,如何使用 Liferay Mobile SDK 6.2.18 生成 jar 库?

    在我当前的项目中 我们正在维护 开发使用客户网站 liferay 6 2 服务的移动 android iOS 应用程序 每当后端的人员生成新服务 或者只是将现有服务更新为具有新功能的新版本 时 我们需要使用 Liferay Mobile S
  • 如何从本地系统将 lxml 安装到 virtualenv 中?

    我的系统上安装了 lxml 模块 debian 包python lxml 对于python 2 6 我也使用基于python2 6的virtualenv 使用标志安装 no site packages 是否可以在虚拟环境中安装 lxml 而
  • 哈德森中的java OutOfMemoryError

    我在 hudson 中运行 pmd findbugs 时收到以下错误 FATAL Java heap space java lang OutOfMemoryError Java heap space at java util HashMap
  • 使用 linq 组合对象

    我有一个类的 2 个实例 它实现了IEnumerable界面 我想创建一个新对象并将它们合并为一个 我明白我可以使用for each去做这个 有 linq lambda 表达式的方法可以做到这一点吗 EDIT public class Me
  • 2.5 是否有一个 Python 模块提供类似于 2.6 中的 "string".format() 调用的功能?

    2 5 是否有免费的 Python 模块提供类似于 2 6 3 x 中的 string format 调用的功能 我正在为 2 5 编写新代码 我不想在新代码中使用 格式表达式 您可能会发现这里的代码可以适应您的需要 http svn py
  • SlidingTabLayout 中自定义未选择的选项卡文本颜色

    我正在使用SlidingTabLayout类来在我的 Android 应用程序中显示选项卡 我正在使用我设置的自定义选项卡视图setCustomTabView功能 虽然我可以轻松自定义选定选项卡的文本颜色 但我找不到自定义未选定选项卡的文本
  • 如何取消 Postgres 中的错误命令(从终端)?

    我在尝试编写函数时写了一个错误的命令 我在函数中犯了一个错误 并且想在没有完成函数的情况下退出它 并且我想退出它 但是终端的命令提示符不允许我退出 我试过这个 https unix stackexchange com questions 4
  • 如何为我的杆和楔子添加纹理?

    我正在使用绘制几个条形图和饼图matplotlib pyplot bar http matplotlib org api pyplot api html matplotlib pyplot bar and matplotlib pyplot
  • PSD 到 html 转换 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • WSGI 中的 httplib CannotSendRequest 错误

    我使用了两个不同的 python oauth 库和 Django 来通过 twitter 进行身份验证 该设置是在带有 WSGI 的 apache 上进行的 当我重新启动服务器时 大约 10 分钟一切正常 然后 httplib 似乎锁定了
  • 如何创建 Keras 层来执行 4D 卷积 (Conv4D)?

    看起来tf nn convolution应该能够进行 4D 卷积 但我无法成功创建 Keras 层来使用此函数 我尝试过使用 KerasLambda层来包裹tf nn convolution功能 但也许其他人有更好的主意 我想利用数据的高维