![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
深度学习
文章平均质量分 55
注意从深度学习最基础开始,到项目实战源代码程序
AI炮灰
这个作者很懒,什么都没留下…
展开
-
搭建卷积神经网络实现训练、预测实战
1.数据集mnist手写数据集:总共有70000张图片,其中60000张图片用于训练,10000张图片用于测试,图片的宽高分别为28、28 28x28的图片,转换成28x28个像素点,每个像素点的值介于0和1之间2.网络结构3.代码实现(1)GPU设置及查看import tensorflow as tffrom tensorflow.keras import datasets, layers, modelsimport matplotlib.pyplot as ...原创 2022-08-17 22:49:08 · 701 阅读 · 0 评论 -
Window和MacOS对于conda以及pip换源方法
Window和MacOS对于conda以及pip换源方法原创 2022-08-17 08:16:15 · 1120 阅读 · 0 评论 -
python 调用不同文件夹下的 py文件
网上找了好多帖子,都没有解决问题,最后把自己可行的方案贴上来。defor_filter文件夹下的defor_filter.py 调用 noiseIndicator文件夹下的EPI.py 1)设置根目录为Sources root右击根目录,mark dirctory as(将目录标记为) -- Sources Root(源根);相当于在系统路径中加入根目录,当import时,可以检索根目录中内容;类似于sys.path.append(path)下图是我设置好之后的显示。 2)建立__init__.py_转载 2022-06-24 16:29:21 · 4611 阅读 · 3 评论 -
深度学习机器学习各种数据集汇总地址
(4条消息) 免费数据集下载_灬点点的博客-CSDN博客_数据集下载https://xhcom.blog.csdn.net/article/details/79487335转载 2022-06-24 17:56:17 · 248 阅读 · 0 评论 -
深度学习-制作自己的数据集
1.背景对于文件夹套子文件夹,子文件夹里有很多同一类别的图像,子文件夹表示里面图像的类别。这种结构的文件叫做图像层叠式即为imageFolder。如下所示:该文件夹下面有10个类别的子文件夹,如下:每个子文件夹下有许多图像,如下:2.开始制作数据集""" 对于一个文件夹下有多个文件夹,每个子文件夹都是子文件夹里图片的类别名,这种称谓图像层叠形式imageFolder。"""import osfrom torch.utils.data import ..原创 2022-05-25 00:27:57 · 5452 阅读 · 0 评论 -
90+深度学习开源数据集整理|包括目标检测、工业缺陷、图像分割等多个方向
小目标检测1.AI-TOD航空图像数据集数据集下载地址:http://m6z.cn/5MjlYkAI-TOD 在 28,036 张航拍图像中包含 8 个类别的 700,621 个对象实例。与现有航拍图像中的目标检测数据集相比,AI-TOD 中目标的平均大小约为 12.8 像素,远小于其他数据集。2.iSAID航空图像大规模数据集数据集下载地址:http://m6z.cn/6nUrYe现有的 Earth Vision 数据集要么适用于语义分割,要么适用于对象检测。iSAID 是第一原创 2022-04-06 18:53:53 · 2185 阅读 · 0 评论 -
用RNN实现连续四个字母,预测下一个字母(Embedding编码)
本文实现连续输入四个字母预测下一个字母的例子:废话不多说,直接上代码:import numpy as npimport tensorflow as tffrom tensorflow.keras.layers import Dense,SimpleRNN,Embeddingimport matplotlib.pyplot as pltimport osimport PySide2dirname = os.path.dirname(PySide2.__file__)plugin_pa原创 2022-03-30 15:35:31 · 344 阅读 · 0 评论 -
Embeding编码方式
Embeding编码方式概述独热码:数量大而且过于稀疏,映射之间是独立的,没有表现出关联性。Embedding:是一种单词编码方法,用低维向量实现了编码,这种编码通过神经网络训练优化,能表达出单词间的相关性。tf给出了Embedding实现编码的函数:tf.keras.layers.Embedding(词汇表大小,编码维度)编码维度就是用几个数字表达一个单词例如想要表示1-100的编码,所以词汇表大小为100,我们可以对【4】编码为【0.25,0.1,0.1】所以编码的维度就是原创 2022-03-30 12:16:51 · 2372 阅读 · 0 评论 -
利用RNN及实现字母预测
由于有些数据是与时间序列相关,是可以根据上文预测出下文的。循环核具有记忆力,通过不同时刻的参数共享,实现了对时间序列的信息提取,循环核的表示如上图所示, 我们可以设定记忆体的个数改变记忆容量,当记忆体的个数被指定输入Xt,输出Yt维度被指定,周围这些待训练参数的维度也就被限定了。记忆体内存储着每个时刻的状态信息ht,记忆体当前时刻存储的状态信息ht等于当前时刻的输入特征xt乘以矩阵Wxh,加上记忆体上一时刻存储的状态信息ht-1乘以矩阵Whh再加上偏置项bh,它们...原创 2022-03-29 22:15:11 · 927 阅读 · 0 评论 -
ResNet原理与实战
目录ResNet原理 ResNet实战程序ResNet原理 resNet诞生于2015年,是当年ImageNet竞赛的冠军,Top5的错误率为3.57%,ResNet提出了层间残差跳连,引入了前方信息,缓解了梯度消失使神经网络层数增加成为了可能。纵览前面博客讲过的四个卷积神经网络层数如下所示:通过以上网络可以发现,人们在探索卷积实现特征提取的道路上,通过加深网络层数得到了越来越好的效果。ResNet的...原创 2022-03-29 14:56:56 · 2533 阅读 · 0 评论 -
InceptionNet原理与实战
InceptionNet诞生于2014年,当年ImageNet竞赛冠军,Top5错误率为6.67%。InceptionNet引入了Inception结构块,在同一个网络内使用不同尺寸的卷积核,提升了模型的感知力。使用了批标准化,缓解了梯度消失。InceptionNet的核心是它的基本单元Inception结构块,无论是GoogleNet也就是Inception v1还是InceptionNet的后续版本,比如V2,V3,V4都是基于Inception结构块搭建的网络,In...原创 2022-03-28 23:35:53 · 2710 阅读 · 0 评论 -
VGGNet网络结构及实现--对自己数据集进行识别
VGG16网络结构如下所示:实战代码import pathlibimport tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, models, Model, Sequentialfrom tensorflow.keras.layers import Conv2D, BatchNormalization, Activation, Dense, Flatten, MaxP..原创 2022-03-28 23:00:22 · 606 阅读 · 0 评论 -
AlexNet网络原理及实现
AlexNet网络诞生于2012年,是Hinton的代表做之一,当年的ImageNet竞赛的冠军,Top5错误率为16.4%。AlexNet使用relu激活函数提升了训练速度,使用Dropout缓解了过拟合。AlexNet一共8层,5个卷积层,3个全连接层.import numpy as npimport tensorflow as tfimport osfrom matplotlib import pyplot as pltimport PySide2fr...原创 2022-03-28 22:50:17 · 512 阅读 · 0 评论 -
用卷积神经网络训练Cifar10数据集
目录Cifar10数据集介绍卷积神经网络的搭建完整代码Cifar10数据集介绍Cifar10数据提供了5万张32*32像素点的十分类彩色图片和标签,用于训练;提供了1万张32*32像素点的十分类彩色图像和标签用于测试。导入cifar10数据集:cifar10 = tf.keras.datasets.cifar10(x_train,y_train),(x_test,y_test)=cifar10.load_data()要想可视化出样本可以如下操作:也可..原创 2022-03-28 18:52:02 · 2631 阅读 · 0 评论 -
基于神经网络给图识物
由前面所学的知识我们已经掌握了神经网络的基础知识,但是要想模型可以使用,还需要编写一套 程序。实现给图识物。tensorflow给出了predict函数,它可以根据输入的特征输出预测结果,由predict函数实现前向传播,执行识图的应用只需要三步分别如下所示:复现模型(前向传播)model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(), tf.keras.layer.Dense(128,activation='r原创 2022-03-28 16:12:01 · 620 阅读 · 0 评论 -
深度学习acc曲线与loss曲线
acc曲线和loss曲线在模型训练的过程中我们需要把精确率和损失上升和下降的过程刻画出来,在这一节我们将进行讲述。history=model.fit(训练集数据,训练集标签,batch_size=,epochs=,validation_split=用作测试数据的比例,validation_data=测试集,validation_freq=测试频率)对于history:训练集loss:loss测试集loss:val_loss训练集准确率:sparse_categorical_acc原创 2022-03-28 15:02:14 · 9301 阅读 · 0 评论 -
神经网路参数提取,存入文本
概述我们有时候想看看保存的模型参数是多少,那我们应该如何提取参数并存入文本呢?tensorflow提供了model.trainable_variables来返回模型中可训练的参数,那我们如果想看参数可以设置print打印出来,但是直接用print打印的话,会有很多的数据会被省略号替换掉。设置print输出格式:np.set_printoptionbs(threshold=超过多少省略显示)如果下面这样设置就表示打印过程中不使用省略号。所有的都打印。np.set_printopt原创 2022-03-28 14:05:05 · 273 阅读 · 0 评论 -
断点续续-神经网络模型的存取
模型的读取我们经常需要吧写好的模型进行保存于读取。在模型的读取中,tensorflow给出了利用load_weights(路径文件名)的方式进行读取.因此我们在模型的读取中经常使用一下的方式:checkpoint_save_path = './checkpoint/mnist.ckpt'if os.path.exists(checkpoint_save_path + '.index'): print('-------------load the model-------------原创 2022-03-28 13:34:21 · 576 阅读 · 0 评论 -
卷积神经网络(CNN)
卷积神经网络概述 在讲解CNN之前首先需要了解的是全连接NN,他是每一个神经元与前后相邻的层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。上图中只是一个28*28的黑白图像, 参数就有近40w的参数量需要去训练。如果换成生活中高分辨率的彩色图像,那么待优化的参数就更多,就容易导致过拟合现象。为了避免过拟合现象的发生,我们在实际的应用中不会直接对图像进行全连接神经网络。会先对原始图像进行特征提取,再把提取到的特征喂入全连接网络。 而卷积就是一种有效提取图...原创 2022-03-27 22:06:38 · 2007 阅读 · 0 评论 -
深度学习数据增强——扩充数据集
在深度学习过程中经常会因为数据量少而发生过拟合现象,或者模型的泛化能力比较低。基于此,本文讲一下图像的数据增强,就是通过对图像简答你的形变,用来应对因拍照的角度不同而使得图谱变形。tensorflow2给出了数据 增强的函数如下所示:image_gen_train = rd.keras.preprocessing.image.ImageDataGenerator( rescale = 所有数据将乘以该数值 rotation_range = 随机旋转角度数范围 width_原创 2022-03-27 16:34:00 · 6375 阅读 · 0 评论 -
对自制的数据集进行识别
例如,我们经常会使用Mnist手写数据集,而我们经常使用的方式就是利用一下代码进行应用:mnist = tf.keras.datasets.mnist(x_train,y_train),(x_test,y_test)=mnist.load_data()这次我们自己写一个函数来对文件进行读取,返回目标值与特征值。import tensorflow as tffrom PIL import Imageimport numpy as npimport ostrain_path = 'E原创 2022-03-27 16:04:55 · 1151 阅读 · 0 评论 -
搭建神经网络八股——keras实现
1.网络八股本文主要使用Tensorflow的API;tf.keras搭建网络八股主要分为六步法:import:导入相关的模块 train,test:告知需要喂入网路的训练集和测试集是什么 model = tf.keras.models.Sequential:在Sequential中搭建网络,逐层描述每层网络,相当于走了一遍前向传播 model.compile:配置训练方法,告知训练时采用哪种优化器,选择哪个损失函数,选择什么评测指标 model.fit:执行训练过程,告知训练集和测试集原创 2021-10-18 21:11:10 · 294 阅读 · 0 评论 -
欠拟合、过拟合、优化器
1.欠拟合与过拟合2.欠拟合、过拟合的解决方法(1)欠拟合的解决方法:增加输入特征项 增加网络参数 减少正则化参数(2)过拟合的解决方式数据清洗 增大训练集 采用正则化 增大正则化参数3.正则化缓解过拟合正则化再损失函数中引入模型复杂度指标,利用给w加权值,弱化了训练数据的噪声(一般不正则化b)。正则化以后loss变成由两个部分组成。p...原创 2021-10-13 21:42:50 · 231 阅读 · 0 评论 -
神经网络复杂度、激活函数、损失函数
1.神经网络复杂度神经网络的复杂度基本都是用NN层数和NN参数的个数表示空间复杂度:层数=隐藏层的层数+1个输出层,下图为2层的NN 总参数 = 总w + 总b 上图第一层:3x4+4个参数(三个输入,4个神经元,4个偏置b) 上图第二层:4x2+2 所以总参数是:3x4+4+4x2+2=26时间复杂度: 乘加运算次数左图:3x4+4x2=202.参数迭代更新学习率小了训练很慢,学习率大了会跳过最优解。因此可...原创 2021-09-26 22:52:02 · 1238 阅读 · 1 评论 -
深度学习分类步骤——鸢尾花分类
1.数据集的介绍以鸢尾花数据集为例,共有150组,每组包括花萼长、花萼宽、花瓣长、花瓣宽4个输入特征。同时给出了这一组特征对应的鸢尾花的类别。类别包括狗尾草鸢尾、杂色鸢尾以及弗吉尼亚鸢尾,分别用0,1,2表示。数据集读入:从sklearn包datasets读入数据集,如下:from sklearn.datasets import load_irisx_data = load_iris().data # 返回iris数据集所有输入特征y_data = load_iris().target原创 2021-09-25 23:48:40 · 6777 阅读 · 9 评论 -
tensorflow2常用函数解析
1.常用函数强制tensor转换为该数据类型:tf.cast(张量名,dtype=数据类型) 计算张量维度上元素的最小值:tf.reduce_min(张量名) 计算张量维度上元素的最大值:tf.reduce_max(张量名)2.理解axis在一个二维张量或者数组中,可以通过调整axis等于0或者1控制执行维度。axis=0表示纵向操作,axis=1代表横向操作。计算张量沿着指定维度的平均值:tf.reduce_mean(张量名,axis=操作轴) 计算张量沿着指定维度的和:tf.原创 2021-09-25 15:59:53 · 518 阅读 · 0 评论 -
深度学习——张量
1.张量张量:是指多维数组(列表)。阶:张量的维数维数 阶 名字 例子 0-D 0 标量scalar s = 1 2 3 1-D 1 向量vector v = [1,2,3] 2-D 2 矩阵matrix m = [[1,2,3],[4,5,6],[7,8,9]] n-D n tensor t = [[[[... 2.数据类型tf.int,tf.float……——tf.int32,t原创 2021-09-24 21:35:20 · 721 阅读 · 0 评论 -
神经网络设计过程
1.神经网络理解神经网络:采集大量(花萼长、花萼宽、花瓣长、花瓣宽,对应的类别)数据对构成数据集吧数据喂入搭建好的神经网络结构,网络优化参数得到模型,模型读入新输入特征,输出识别结果。 MP模型是由每一个输入特征和线上的权重求和,在通过一个非线性函数输出。2.损失函数损失函数是指:预测值(y)与标准值(y_)的差距。损失函数可以定量判断W,b的优劣,当损失函数输出最小时,参数W,b会出现最优值。目的:想找到一组参w,b使得损失函数最小。...原创 2021-09-24 18:43:20 · 477 阅读 · 0 评论 -
基于PyTorch解析并实现LeNet-5模型
1.LeNet-5模型架构 LeNet-5模型共有7层,如下所示: 下面我们对每一层的结构进行解析:(1)第一层:卷积层 输入:原始的图片像素矩阵(长、宽、通道数),大小为32x32x1 参数:滤波器尺寸为5x5,深度为6,不使用全0补充步长为1 输出:特征图,大小为28x28x6 分析:由于没有使用全0补充,所以这一层的输出尺寸为32-5+1=28,深度为6,本卷积层一共有5x5x1x6+6=156...原创 2021-07-21 09:02:22 · 420 阅读 · 2 评论 -
基于PyTorch对卷积神经网络原理总结与实现
1.概述 在前一个博客中我们对于全连接神经网络做了一个实现。其中输入层有784个(28*28的图片)元素,四个隐藏层分别有400原创 2021-06-25 08:20:27 · 1357 阅读 · 0 评论 -
基于PyTorch利用全连接神经网络识别MNIST手写数字
from torchvision import datasets, transformsfrom torch import nn, optimfrom torch.utils.data import DataLoaderimport torchfrom torch.autograd import Variable# step1:定义超参数,并进行初始化batch_size = 64learn_rate = 0.001num_epoches = 10000# step2: 建立带有激励.原创 2021-06-10 21:45:54 · 448 阅读 · 0 评论 -
基于Pytorch全连接神经网络实现多分类
为了方便开发者应用,PyTorch专门开发了一个视觉工具包torchvision,主要包含以下三个部分: 1.model原创 2021-06-09 09:35:20 · 3990 阅读 · 0 评论 -
基于PyTorch实现一元线性回归模型
import torchfrom torch.autograd import Variableimport matplotlib.pyplot as pltimport numpy as npimport torch.nn as nnimport torch.optim as optim# step1:制造数据集x_train = np.array([[3.3],[4.4],[5.5],[6.71],[6.93],[4.168],[9.779],[6.182],[7.59],[2.167].原创 2021-06-06 15:06:13 · 302 阅读 · 0 评论 -
深度学习之神经网络基础概述
1.深度学习过程概述原创 2021-06-01 12:54:01 · 98 阅读 · 0 评论