精华内容
下载资源
问答
  • 卷积神经网络(Convolutional Neural Networks, CNN)是类包含卷积或相关计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之 [1-2] 。由于卷积神经...
  • 卷积神经网络 卷积神经网络(ConvolutionalNeuralNetwork,CNN)最初是为解决图像识别等问题设计的,CNN现在的应用已经不限于图像和视频,也可用于时间序列信号,比如音频信号和文本数据等。CNN作为个深度学习...
  • 我所采用的数据集,是我自己构建的网络流量数据集,借鉴了Wei Wang等人端到端的思想, 但是处理成的数据集却不同于他们的MNIST型数据集,而是采用的npy进行存储。 由于只是用于测试模型搭建,该数据集仅包含了...

    编程环境:

    python 3.6.8

    tensorflow 1.12.3 点击下载离线包

    matplotlib 3.1.2

    numpy 1.17.4

    数据集说明:

    我所采用的数据集,是我自己构建的一个网络流量数据集,借鉴了Wei Wang等人端到端的思想,

    但是处理成的数据集却不同于他们的MNIST型数据集,而是采用的npy进行存储。

    由于只是用于测试模型搭建,该数据集仅包含了一部分数据(Chat流量),

    原数据来源于加拿大网络安全研究所的公开数据集(ISCX2016)

    直接上代码:

    训练模型部分:

    from tensorflow import keras
    from tensorflow.python.keras.layers import Dense, Dropout, Activation, Flatten, Conv1D, MaxPool1D
    import matplotlib.pyplot as plt
    import numpy as np
    import os
    
    os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
    
    # 数据集路径
    dataset_path = 'dataset.npy'
    # 接入softmax的全连接层维数
    dense_num = 6
    # 保存的模型文件路径
    model_file = 'model/cnn_6traffic_model.h5'
    
    # [training_images, training_labels,
    # validation_images, validation_labels,
    # testing_images, testing_labels]
    data = np.load(dataset_path, allow_pickle=True)
    
    x_train, y_train, x_test, y_test = np.array(data[0]), np.array(data[1]), np.array(data[2]), np.array(data[3])
    print(x_train.shape, y_train.shape)
    
    # 一维化
    X_train = x_train.reshape(-1, 784, 1)
    # print(X_train)
    # X_train = X_train.astype('float32')
    X_test = x_test.reshape(-1, 784, 1)
    # X_test = X_test.astype('float32')
    
    
    # 将像素值做归一化,也就是从0~255的取值压缩到0~1之间
    # X_train /= 255
    # X_test /= 255
    
    # 构建模型
    model = keras.models.Sequential()
    
    # 卷积层1 + relu
    # 25 卷积核的数量 即输出的维度
    # 3 每个过滤器的长度
    model.add(Conv1D(32, 3, activation='relu', input_shape=(784, 1), padding="same"))
    # 池化层1
    model.add(MaxPool1D(pool_size=3, strides=3))
    
    # 卷积层2 + relu
    model.add(Conv1D(64, 3, strides=1, activation='relu', padding='same'))
    # 池化层2
    model.add(MaxPool1D(pool_size=3, strides=3))
    
    # 神经元随机失活
    model.add(Dropout(0.25))
    # 拉成一维数据
    model.add(Flatten())
    # 全连接层1
    model.add(Dense(1024))
    # 激活层
    model.add(Activation('relu'))
    
    # 随机失活
    model.add(Dropout(0.4))
    # 全连接层2
    model.add(Dense(dense_num))
    # Softmax评分
    model.add(Activation('softmax'))
    
    # 查看定义的模型
    model.summary()
    
    # 自定义优化器参数
    # rmsprop = keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-08, decay=0.0)
    
    # lr表示学习速率
    # decay是学习速率的衰减系数(每个epoch衰减一次)
    # momentum表示动量项
    # Nesterov的值是False或者True,表示使不使用Nesterov momentum
    sgd = keras.optimizers.SGD(lr=0.01, decay=1e-4, momentum=0.9, nesterov=True)
    
    model.compile(optimizer='sgd', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
    
    # 训练
    history = model.fit(X_train, y_train, epochs=10, batch_size=1000,
                        verbose=1, validation_data=[X_test, y_test])
    
    model.save(model_file)
    print(history.params)

     

    注:神经网络初涉,有啥问题请直接指出,谢谢!有流量识别领域的小伙伴欢迎打扰!相互交流!

    说明:鉴于很多人问我数据集的问题,但写这个文章时所用的仅有“Chat”的流量的数据集我已经删除了,所以我在这里提供了包含有我已处理好的六类网络流量的npy数据集,有需要的自取(下载地址),鉴于之前的数据集是二分类的,但我提供的数据集的六个标签,所以代码中需要做出相应修改,我已将修改后的代码附上了。

    展开全文
  • 卷积神经网络基础 卷积神经网络包括卷积层和池化层。 二卷积层 最常见的是二卷积层,常用于处理图像数据。 二互相关运算 二互相关(cross-correlation)运算的输入是个二输入数组和个二维核(kernel)...
  • 一维卷积神经网络处理序列模型

    万次阅读 2018-10-08 20:40:43
    from keras.datasets import imdb from keras.models import Sequential from keras.layers import Embedding, Conv1D, MaxPooling1D, GlobalMaxPooling1D, Dense from keras.optimizers import RMSprop ...
    from keras.datasets import imdb
    from keras.models import Sequential
    from keras.layers import Embedding, Conv1D, MaxPooling1D, GlobalMaxPooling1D, Dense
    
    from keras.optimizers import RMSprop
    
    max_features = 10000
    max_len = 500
    
    (input_train, y_train), (input_test, y_test) = imdb.load_data(num_words = max_features)
    print(len(input_train), 'train sequences')
    print(input_train[0])
    
    model = Sequential()
    model.add(Embedding(max_features, 128, input_length = max_len))
    model.add(Conv1D(32, 7, activation = 'relu'))
    model.add(MaxPooling1D(5))
    model.add(Conv1D(32, 7, activation = 'relu'))
    model.add(GlobalMaxPooling1D())
    model.add(Dense(1))
    
    model.summary()
    
    model.compile(optimizer = RMSprop(lr = 1e-4),
                 loss = 'binary_crossentropy',
                 metrics = ['acc'])
    
    history = model.fit(x_train, y_train,
                       epochs = 10,
                       batch_size = 128,
                       validation_split = 0.2)
    
    展开全文
  • 针对现有方法在大量肺部数据中存在的检测肺结节效率不高及大量假阳性的问题,提出了种基于端到端的二全卷积对象定位网络(2D FCN)与三立体式目标分类卷积神经网络(3D CNN)相结合的肺结节检测方法。首先采用2D全...
  • 一维卷积神经网络(1D CNNs)只在一定程度上有所涉及,比如在自然语言处理(NLP)中的应用。目前很少有文章能够提供关于如何构造一维卷积神经网络来解决你可能正面临的一些机器学习问题。本文试图补上这样一个短板...
    展开全文
  • Speech_Denoising_with_CNN 使用一维和二维卷积神经网络(CNN)消除语音中的噪声
  • 1. 二维卷积 ...如果你对卷积维度的计算不清楚,可以参考我之前的博客吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(CNN)(上)。 上述内容没有引入channel的概念,也可以说channel的数量为...

    1. 二维卷积

    • 图中的输入的数据维度为14×1414×14,过滤器大小为5×55×5,二者做卷积,输出的数据维度为10×1010×10(14−5+1=1014−5+1=10)。如果你对卷积维度的计算不清楚,可以参考我之前的博客吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络(CNN)(上)

    • 上述内容没有引入channel的概念,也可以说channel的数量为1。如果将二维卷积中输入的channel的数量变为3,即输入的数据维度变为(14×14×314×14×3)。由于卷积操作中过滤器的channel数量必须与输入数据的channel数量相同,过滤器大小也变为5×5×35×5×3。在卷积的过程中,过滤器与数据在channel方向分别卷积,之后将卷积后的数值相加,即执行10×1010×10次3个数值相加的操作,最终输出的数据维度为10×1010×10。

    • 以上都是在过滤器数量为1的情况下所进行的讨论。如果将过滤器的数量增加至16,即16个大小为10×10×310×10×3的过滤器,最终输出的数据维度就变为10×10×1610×10×16。可以理解为分别执行每个过滤器的卷积操作,最后将每个卷积的输出在第三个维度(channel 维度)上进行拼接。

    • 二维卷积常用于计算机视觉、图像处理领域。

    2. 一维卷积

    • 图中的输入的数据维度为8,过滤器的维度为5。与二维卷积类似,卷积后输出的数据维度为8−5+1=48−5+1=4。

    • 如果过滤器数量仍为1,输入数据的channel数量变为16,即输入数据维度为8×168×16。这里channel的概念相当于自然语言处理中的embedding,而该输入数据代表8个单词,其中每个单词的词向量维度大小为16。在这种情况下,过滤器的维度由55变为5×165×16,最终输出的数据维度仍为44。

    • 如果过滤器数量为nn,那么输出的数据维度就变为4×n4×n。

    • 一维卷积常用于序列模型,自然语言处理领域。

    3. 三维卷积

    这里采用代数的方式对三维卷积进行介绍,具体思想与一维卷积、二维卷积相同。

    • 假设输入数据的大小为a1×a2×a3a1×a2×a3,channel数为cc,过滤器大小为ff,即过滤器维度为f×f×f×cf×f×f×c(一般不写channel的维度),过滤器数量为nn。

    • 基于上述情况,三维卷积最终的输出为(a1−f+1)×(a2−f+1)×(a3−f+1)×n(a1−f+1)×(a2−f+1)×(a3−f+1)×n。该公式对于一维卷积、二维卷积仍然有效,只有去掉不相干的输入数据维度就行。

    • 三维卷积常用于医学领域(CT影响),视频处理领域(检测动作及人物行为)。                                                                    转自:https://www.cnblogs.com/szxspark/p/8445406.html

    展开全文
  • 我就废话不多说了,大家还是直接看代码吧! import tensorflow as tf import numpy as np input = tf.constant(1,shape=(64,10,1),dtype=tf.float32,name='input')#shape=(batch,in_width,in_channels) w = tf....
  • 【keras】一维卷积神经网络多分类

    万次阅读 多人点赞 2020-06-20 13:05:05
    刚刚接触到深度学习,前2个月的时间里,我用一维卷积神经网络实现了对于一维数据集的分类和回归。由于在做这次课题之前,我对深度学习基本上没有过接触,所以期间走了很多弯路。 在刚刚收到题目的要求时,我选择...
  • 【keras】一维卷积神经网络做回归

    万次阅读 多人点赞 2020-06-20 13:51:50
    【keras】一维卷积神经网络多分类 在这篇博客当中我将利用一个稍加修改的数据集来完成线性回归任务。相比较以往的线性回归处理方式,我认为使用神经网络实现线性回归要简单和准确得多。 数据集大小仍然是247*900,...
  • 直观的基于一维卷积神经网络的故障诊断研究

    千次阅读 多人点赞 2020-10-17 11:28:55
    之前发过两个帖子,一个是改的别人的鸢尾花分类,另一个忘了改的那一篇一维卷积神经网络的了,两个代码都显得不尽人意。鸢尾花分类将一个样本转化成三个特征样本训练,会导致训练自己东西的时候样本要做的非常大。第...
  • 维卷积神经网络,可以用来做一维的数据分析,以家用电器的识别分类作为背景。使用excel画出的简单的图形如下,横坐标为用电器开启后的秒数,纵坐标为某一秒的有功功率,由上至下分别为空调(Air Conditioner),...
  • 在python中应用,要求有opencv3.4,运行就可以看到检测效果图
  • CNN卷积神经网络Matlab实现例程,使用了matlabR2019a自带的深度学习工具箱,一维数据分类,二维cnn
  • 基于一维卷积神经网络对机械振动信号进行分类并加以预测 *使用一维卷积神经网络训练振动信号进行二分类 2020年7月16日,一学期没等到开学,然而又放假了。 总览CSDN中大多数卷积神经网络都是对二维图片进行分类的,...
  • 代码是基于Matlab的卷积神经网络代码案例,本代码本人使用Matlab2014b可以正常运行。欢迎大家留言评论,互相学习研讨。
  • 主要为大家详细介绍了pytorch实现CNN卷积神经网络,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 1维卷积神经网络demo

    2019-04-09 20:59:42
    1CNN demo, 可在本地运行, 初学代码, 写的不是很规范,
  • Tensorflow2.0 一维卷积神经网络搭建

    千次阅读 2020-08-10 19:14:31
    网上对于卷积神经网络的介绍大部分都是2D的,一维卷积神经网络的比较少,使用新框架的就更少了。 代码如下: # 首先搭建网络,这里以最简单的sequential为例 # 先是卷积 sequential = [ tf.keras.layers.Conv1D(2, ...
  • 主要为卷积神经网络中的bn层应用,bn层也是个数据处理的方式,一般位于非线性激活层之前,全连接层之后,本资源涵盖4个代码,分别为bn层建立,cn层在实例中的应用,bn层测试以及有无bn层的对比,供大家更好地了解...
  • 基于一维卷积神经网络的滚动轴承故障识别

    千次阅读 热门讨论 2021-01-25 15:14:37
    基于一维卷积神经网络的滚动轴承故障识别 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录基于一维卷积神经网络的滚动轴承故障识别一、数据预处理二、模型搭建三、使用步骤1.引入库2....
  • 一维卷积神经网络(1D CNNs)只在一定程度上有所涉及,比如在自然语言处理(NLP)中的应用。目前很少有文章能够提供关于如何构造一维卷积神经网络来解决你可能正面临的一些机器学习问题。本文试图补上这样一个短板...
  • 吴恩达卷积神经网络,第周作业PyTorch版本代码(gpu-cpu通用) 1.PyCharm上运行的PyTorch项目 2.基础的卷积神经网络搭建 3.加入了gpu加速所需的代码 4.含数据集+cnn_utils.py【对原版本做了简化】 5.含训练、...
  • 深度学习-卷积神经网络(python3代码实现)

    万次阅读 多人点赞 2018-03-26 16:50:58
    卷积神经网络(上) 作者:Bossof537 写这个也不容易,小哥哥小姐姐转载请注明出处吧,感谢! 1、简介 卷积神经网络与常规的神经网络十分相似,它们都由可以对权重和偏置进行学习的神经元构成。每个神经元接收...
  • 基于多通道的一维卷积神经网络故障诊断

    千次阅读 热门讨论 2021-04-07 15:38:09
    、数据准备 本次采用的PHM 2009 Challenge Data的全套齿轮箱数据集进行实验分析,包括齿轮、轴承以及轴的故障。其实验平台如下图所示: 本次选用50HZ的转速下低负载通道1的振动信号数据进行构建数据集,每类样本...
  • 卷积神经网络处理一维信号(故障诊断) (注:从小白角度出发,刚接触卷积神经网络的小伙伴,很多人和我一样就是想知道这段代码怎么把信号输入进去,怎么看输出结果,怎么把输出结果与测试集的数据进行对比,从而...
  • 使用C++编写卷积神经网络

    千次阅读 2019-05-23 20:08:36
    由于卷积神经网络主要针对图像类,故最好定义个适用于图像类的矩阵类,我这边使用了网上个开源的用c++写好的卷积神经网络,使用了里面定义好的矩阵类,如下。这个类个人觉得非常好用,故写成博客,收藏波,...
  • Python-深度学习-学习笔记(13):keras搭建卷积神经网络(对二维数据进行一维卷积卷积神经网络进行图像分类是深度学习关于图像处理的一个应用,卷积神经网络的优点是能够直接与图像像素进行卷积,从图像像素中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,811
精华内容 9,924
关键字:

一维卷积神经网络代码