Keras 1.0 与 2.0 中 Convolution1D 的区别(其实是tf1.0 2.0 区别)

article/2025/10/20 9:50:39

1.0  Convolution1D: 

一维卷积层

nb_filter: 卷积核的个数

filter_length: 每个卷积核的长度

init: 权重初始化函数名称

weights: 权重初始化

border_mode: 'valid', 'same' or 'full' 如果是‘valid ’ 进行有效的卷积,对边界数据不处理,‘same'表示保留边界处的卷积结果’

subsample_length: 子样的长度

W_regularizer: 权重上的正则化

b_regularizer:  偏置项上的正则化

activity_regularizer: 输出上的正则化

W_constraint: 权重上的约束项

b_constraint: 偏置上的约束项

bias: 偏置项

input_dim: 输入的维度

input_length:  输入的长度

见 https://www.jianshu.com/p/ca41dbd91de6

2.0  Convolution1D: 

inputs :  输入tensor, 维度(None,  a, b) 是一个三维的tensor

             None  :  一般是填充样本的个数,batch_size

             a         :  句子中的词数或者字数

             b          :    字或者词的向量维度

filters :  过滤器的个数

kernel_size : 卷积核的大小,卷积核其实应该是一个二维的,这里只需要指定一维,是因为卷积核的第二维与输入的词向量维度是一致的,因为对于句子而言,卷积的移动方向只能是沿着词的方向,即只能在列维度移动

一个例子:

inputs = tf.placeholder('float', shape=[None, 6, 8])

out = tf.layers.conv1d(inputs, 5, 3)

说明: 对于一个样本而言,句子长度为6个字,字向量的维度为8

filters=5, kernel_size=3, 所以卷积核的维度为3*8

那么输入6*8经过3*8的卷积核卷积后得到的是4*1的一个向量(4=6-3+1)

又因为有5个过滤器,所以是得到5个4*1的向量

=================================================================================

就是卷积核好像是适配的,然后就这个是8维的它只能在维上面运动,所以

另外有个input_shape=(step, dim维)   ctrl里面没有

更改: (始终搜不到那个二次抽样。、。。。)

model.add(Convolution1D(input_shape=(107,4),# 希望是107长 4 维的 input_dim=4, input_length=107,# TODO 这里省略了个  subsample_length=1,kernel_size=7,# filter_length=7,filters=nbfilter,padding='valid', # border_mode="valid",activation="relu"))'''model.add(Convolution1D(input_dim=4, input_length=107,nb_filter=nbfilter,filter_length=7,border_mode="valid",activation="relu",subsample_length=1))'''

=================================================================================

比较重要的几个参数是inputs, filters, kernel_size,下面分别说明
inputs: 这个参数一般是经过词向量大矩阵embedding得到,如下
inputs = tf.nn.embedding_lookup(embedding, self.input_x)
其维度是:(batch_size, max_seqlength, embedding_dim) ,第三个维度是词向量矩阵维度
filters : 过滤器的个数,和conv2d差不多
kernel_size : 卷积核的大小,卷积核其实应该是一个二维的,维度是(3,embeding_dim),这里只需要指定一维,是因为卷积核的第二维与输入的词向量维度是一致的,(个人理解:如果第二个维度不是和embendding_dim一样,那么一句话顺序将会被打乱)因为对于句子而言,卷积的移动方向只能是沿着词的方向,即只能在列维度移动

说明: 对于batch_size个样本而言,句子长度为6个字,字向量的维度为8
filters=5, kernel_size=3, 所以卷积核的维度为38
那么输入6
8经过38的卷积核卷积后得到的是41的一个向量(4=6-3+1)
又因为有5个过滤器,则结果应该是横向拼接,维度是 4x5
最终的维度是 [batch_size, 4, 5]
画图如下:(自己想的话大概是横着的。。 )


http://chatgpt.dhexx.cn/article/iXsaUIyL.shtml

相关文章

数据挖掘入门_Task04

线性回归模型 线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。 可以直接使用sklearn建立线性模型: from sklearn.linear_model import LinearRegression model LinearRegression(n…

task4 建模调参

1 读取数据 import pandas as pd import numpy as np import warnings warnings.filterwarnings(ignore)note: 将整型变量的类型尽量压缩,逐步判断并转化为int8,int16,int32,int64 def reduce_mem_usage(df):""" iterate through all the columns …

深度学习与神经网络(七)——卷积神经网络之池化pooling 上采样upsample与降采样downsample(下采样)(subsample)(nn.MaxPool2d)

池化层pooling与采样 upsample与downsample upsample(interpolating)是上采样,是图片的放大 unpool是上采样的一种 downsample(subsample)是下采样,是图片的缩小 在卷积神经网络中使用的采样方式就是pooling,有点类似下采样,但不太…

有放回随机抽样:重要参数subsample

原理透析 确认了有多少棵树之后,我们来思考一个问题:建立了众多的树,怎么就能够保证模型整体的效果变强呢?集成的目的是为了模型在样本上能表现出更好的效果,所以对于所有的提升集成算法,每构建一个评估器&…

Subsample子采样(CloudCompare软件)

之前一直以为CC软件里面没有子采样这个功能,不过找了找之后发现还是有的,感觉这些小的功能挺有意思的,所以也就记录一下。 文章目录 一、Random采样二、space采样三、octree采样四、小结 一、Random采样 有时候我总是喜欢使用一些小的样本来…

Android Content Providers(三)——Contacts Provider

接着上篇Android Content Providers(二)——Contacts Provider继续,接下来要说明的是顶层的Contacts,Contacts是聚合联系人表,在之前讨论的RawContacts是原始联系人表,在Android通讯录的架构中,…

Android contacts 的详解

一、包结构分析 相关联的的projects 1、Contacts相关 联系人分为了Contacts和ContactsCommon,与sim卡联系人相关的是在Telephony中,数据库是在ContactsProvider,apk要push到/system/priv-app/Contacts下 2、Contacts的包结构 3、ContactsComm…

由ContactsProvider的升级引发的OTA首次开机卡白米问题分析

上午的宁静被一个OTA卡白米问题打破,接下来不断有人反馈不同机型都复现了OTA后卡白米,10.9号OTA升级到10.10号的版本,全机型问题,线刷没有问题,好吧,接下来就根据这些信息开始初步分析log吧! 初…

Android Content Providers(二)——Contacts Provider

Contacts Provider是Android中一个强大并且灵活的组件,负责管理系统通讯录的数据,对外提供访问接口来对系统通讯录进行访问和操作。 以下是Contacts Provider的组织结构图: 可以看出Android的系统通讯录是三层架构,通过URI进行访…

API Guides Contacts Provider (二)

Data From Sync Adapters 用户直接输入联系人的数据到设备中,但是也可以通过sync adapters从服务器上获取联系人的数据。sync adapter 会自动同步设备和服务器上的数据。sync adapter运行在后台,由系统来控制。系统调用ContentResolver去管理数据。 在A…

Android 7.0后SettingProvider ContactsProvider TelephonyProvider MediaProvider数据库位置

在Android7.0之后,很多Provider数据库的位置都发生了改变,在这记录下,免得以后又忘记了,找起来费劲。 1、SettingsProvider 在之前SettingsProvider是是以settings.db的方法存在,在Android N之后SettingsProvider数据存…

利用Contacts Provider读取手机联系人信息

参考:https://developer.android.google.cn/guide/topics/providers/contacts-provider.html Contacts Provider组织结构 Contacts Provider组织结构由三部分构成,如下图所示: (联系人)Contact:代表联系人,包含了多种联系渠道。(原始联系人)RawContact:每个原始联…

API Guides Contacts Provider

Contacts Provider Contacts Provider是Android的一个强大组件,它管理联系人的核心数据。你在手机联系人看到联系人信息,来源于Contact Provider。当然,你可以在自己的应用用访问ContactProvider的数据,也可以同步手机和服务…

Android官方文档—APP组件(Content Providers)(Contacts Provider)

通讯录内容提供者 Contacts Provider是一个功能强大且灵活的Android组件,用于管理设备的人员数据中​​央存储库。联系人提供程序是您在设备的联系人应用程序中看到的数据源,您还可以在自己的应用程序中访问其数据,并在设备和在线服务之间传…

理清contactsprovider

初步了解android contact provider android的联系人数据单独拿出来做成ContactsProvider,众多的table和view整体看下来,使得联系人的数据错综复杂。但是我们在开发的过程并不需要将所有的table都搞清楚。用到最多的是 ContactsContract.Contacts、Contac…

Android ContactsProvider源码分析

Android源码目录packages\providers下的应用是下载,通话等内置基本应用提供数据存储和操作的provider应用,本文章将针对ContactsProvider源码的架构和实现展开分析。(注:本文使用使用android4.0版本进行分析) 1、架构设…

ContactsProvider2

本篇不全也不细,只是根据按照个人理解和工作中遇到的问题,总结了个人认为的要点。 1. Android的数据库体系 1.1. 概述1.2 uri结构 2. ContactsProvider2 2.1. 概述2.2. Contacts2.db中的表2.3. ContactProvider2中的实现2.4. 批量访问 1. Android的数…

Android ContactProvider码源解析

Android Contacts源码解析2 4 ContactsProvider模块 1ContactsProvider简介2数据库创建3主要数据库的表结构相互关系 1data表2raw_contacts表3contacts表4mimetypes5其他表 文章转载自:https://blog.csdn.net/kafka_88/article/details/58585607 4,…

Contacts Provider基础

作为四大组件之一的ContentProvider工作中我们很少会用到自己自定义的ContentProvider,用到的最多的就是系统提供的。官方文档提供了两种系统ContentProvider,一种是CalendarProvider,一种是Contacts Provider。今天我们的主角就是Contact Provider。 The Contacts Provider is…

Error: invalid code, hints: [ req_id: * ]

1、问题描述:这个问题是在处理订单支付时需要用户登录遇到的,具体报错信息如下: 2、报错原因: 当前开发者的appid没有支付权限导致 3、解决方案: 需要负责人给分配对应的权限