
TensorFlow
文章平均质量分 80
通过这一系列,我们旨在为读者提供一个全面的学习路径,帮助初学者建立深度学习的基础,同时为有经验的开发者提供深入探讨框架内部机制的机会。我们相信这个专栏将为深度学习爱好者和从业者提供有价值的学习资源,助力大家更好地理解和应用深度学习技术。
小刘要努力。
未来不担心,过去不后悔,现在不犹豫。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
16 | Tensorflow实现Transformer 编码器层
d_model = 512 # 模型维度num_heads = 8 # 多头注意力头数seq_length = 10 # 序列长度"""分割最后一个维度到 (num_heads, depth)"""# 计算注意力权重# 应用softmax得到最终的注意力权重# 应用注意力权重# 将多头维度合并回来# 通过最后一个全连接层])原创 2019-05-20 20:47:16 · 1314 阅读 · 1 评论 -
10 | Tensorflow 模型保存
Checkpoint 主要用于在训练过程中保存模型的中间状态,以便在训练中断或完成后能够恢复模型并继续训练,或者在测试/推理阶段加载已经训练好的模型参数。随后,我们设置了 Checkpoint 的存储路径,并创建了一个 ModelCheckpoint 回调,这个回调会在每个 epoch 结束时保存权重。Checkpoint 可以包含多个需要保存和恢复的对象,如模型的权重、优化器的状态等。这是一个标准的SavedModel格式,它可以包含模型的所有信息,使你能够恢复模型的状态,包括其结构、权重以及训练配置。原创 2019-06-04 23:46:31 · 1269 阅读 · 1 评论 -
3 | Tensorflow2改进点
计算图需要预先定义,包括占位符(原创 2019-05-21 20:34:34 · 1103 阅读 · 1 评论 -
9 | Tensorflow io流和 tfrecord读取操作
tf.io模块是 TensorFlow 中用于处理输入输出(I/O)操作的工具模块,提供了许多常见的函数,用于读写文件、处理图像、序列化和反序列化数据等。以下是一些常见的tf.io这些函数提供了在 TensorFlow 中进行常见 I/O 操作所需的工具。具体的使用方式可以根据你的任务和数据类型进行调整。原创 2024-01-19 08:27:58 · 894 阅读 · 0 评论 -
8 | Tensorflow中的batch批处理
TensorFlow支持批处理(batch processing)。批处理是指同时处理多个样本或数据点而不是单个样本。在深度学习中,批处理通常用于提高训练的效率和稳定性。在TensorFlow中,可以使用 API来设置和处理批处理数据。这允许以批处理的方式加载和处理数据,适用于训练神经网络模型。以下是一个简单的TensorFlow批处理的示例代码:这个例子中, 用于将输入数据切片成小批次,然后通过 和 方法进行打乱和批处理。常见的批处理操作主要涉及 TensorFlow 中的 类和相关函数,用于处理原创 2024-01-16 07:31:42 · 788 阅读 · 0 评论 -
15 | Embedding嵌入层维度映射
例如,对于许多NLP任务,128、256或者更高的嵌入维度是常见的选择,但最终的最佳选择取决于上述多种因素。嵌入层(Embedding layer)是深度学习模型中常用的一种层,主要用于将高维度的输入数据映射到低维度的空间,以便模型能够更好地理解和处理输入信息。在推荐系统中,嵌入层可以将用户和项目(商品、文章等)映射到向量空间,从而使模型能够学习用户和项目之间的关系,实现个性化推荐。应该设置为你的词汇表大小加一,考虑到索引0通常被保留用于特殊用途(如填充),即如果你的词汇表中有9999个唯一单词,原创 2019-05-23 21:26:23 · 1485 阅读 · 1 评论 -
Python实现构建gan模型, 输入一个矩阵和两个参数值,输出一个矩阵
对于每个 batch,获取一个 batch 的真实数据,生成一批噪声数据,生成一批虚假数据,并计算鉴别器损失,然后使用优化器更新鉴别器的参数。生成器使用了一个包含两个密集层的序列模型,输入维度为噪声向量的维度 noise_dim,输出维度为数据的维度 data_dim,其中第一层使用 ReLU 激活函数,第二层使用 Sigmoid 激活函数。这两个模型是在 GAN 中交替训练的,每个训练步骤包括先训练判别器一次,然后再训练生成器一次,重复多次直到生成器生成的数据足够接近真实数据。最后,返回生成器模型。原创 2023-02-23 21:51:52 · 1109 阅读 · 1 评论 -
基于flask和网页端部署yolo自训练模型
关于yolov5模型的flask的部署, 需要通过torch.hub.load 加载yolov5 自定义的模型,source需要设置local。关于models里面的模型,一个是官方yolov5s.pt,另外一个是自训练的口罩模型,检测是否戴有口罩。关于 http://127.0.0.1:5000/v1 接口,返回的是检测结果。检测的图片会保存在static中的forest文件夹。在torch的环境,运行app.py。也可以通过curl对图片进行上传访问。本项目支持运行自己的自训练模型的模型。......原创 2022-08-05 20:54:17 · 2097 阅读 · 0 评论 -
关于yolov5-v7模型的自定义模型加载测试问题
大家肯定说,直接用load加载不就是行了吗,别以为用torch.load(“”) 直接加载就Ok?torch.load 加载是你通过torch训练的,不是yolo训练,那肯定不同。原来在 hub load 可以设置 custom 自定义, 这不就是搞定了。本想找下,有没有代码可以实现自定义模型的检测,发现百度没有一篇。但是由于 每次都下载yolo 模型很慢,最好本地加载。可怜的我去GitHub的issue找到了答案。那么如何加载图片了,直接用PIL 读取就可以了。官方模型加载yolov5预训练模型是。...原创 2022-08-05 00:08:22 · 2037 阅读 · 0 评论 -
【小白学习PyTorch教程】十五、BERT:通过PyTorch来创建一个文本分类的Bert模型
@Author:Runsen2018 年,谷歌发表了一篇题为《Pre-training of deep bidirectional Transformers for Language Understanding》的论文。在本文中,介绍了一种称为BERT(带转换器Transformers的双向编码Encoder 器表示)的语言模型,该模型在问答、自然语言推理、分类和通用语言理解评估或 (GLUE)等任务中取得了最先进的性能.BERT全称为Bidirectional Encoder Representat原创 2021-08-11 21:00:51 · 1560 阅读 · 1 评论 -
【小白学习keras教程】十、三种Model Selection方法:k-fold cross-validation,GridSearchCV和RandomizedSearchCV
@Author:RunsenModel Selection是划分训练集和测试集的手段,下面总结了三种Model Selection方法。k-fold cross-validation using scikit-learn wrappergrid search using scikit-learn wrapperrandom search using scikit-learn wrapperk-fold cross-validation模型验证和选择最常用的方法之一将训练数据集划分为k子集原创 2021-07-15 21:35:31 · 1330 阅读 · 1 评论 -
【小白学习PyTorch教程】九、基于Pytorch训练第一个RNN模型
@Author:Runsen当阅读一篇课文时,我们可以根据前面的单词来理解每个单词的,而不是从零开始理解每个单词。这可以称为记忆。卷积神经网络模型(CNN)不能实现这种记忆,因此引入了递归神经网络模型(RNN)来解决这一问题。RNN是带有循环的网络,允许信息持久存在。RNN的应用有:情绪分析(多对一,顺序输入)机器翻译(多对多,顺序输入和顺序输出)语音识别(多对多)它被广泛地用于处理序列数据的预测和自然语言处理。针对Vanilla-RNN存在短时记忆(梯度消失问题),引入LSTM和GRU来解原创 2021-07-20 19:41:39 · 5151 阅读 · 0 评论 -
【小白学习keras教程】九、keras 使用GPU和Callbacks模型保存
@Author:RunsenGPU在gpu上训练使训练神经网络比在cpu上运行快得多Keras支持使用Tensorflow和Theano后端对gpu进行培训文档: https://keras.io/getting-started/faq/#how-can-i-run-keras-on-gpu安装GPU首先,下载并安装CUDA&CuDNN(假设您使用的是NVIDIA gpu)安装url: https://developer.nvidia.com/cudnn原创 2021-07-15 08:43:14 · 1082 阅读 · 0 评论 -
2 | Sequential Model和模型函数API
在Keras中创建深度学习模型的最简单方法是使用顺序模型API。这些层对两个或更多层的所有对应元素执行元素操作。顺序模型API只允许按顺序连接层,在两层结果之间执行内积运算。因此,保持了输入层的维数。应定义“轴”来执行操作。原创 2021-07-14 21:26:30 · 1064 阅读 · 0 评论 -
17 | Pytorch构建Logistic二分类模型
在逻辑回归中预测的目标变量不是连续的,而是离散的。可以应用逻辑回归的一个示例是电子邮件分类:标识为垃圾邮件或非垃圾邮件。图片分类、文字分类都属于这一类。在这篇博客中,将学习如何在 PyTorch 中实现逻辑回归。原创 2021-07-14 12:52:06 · 1702 阅读 · 1 评论 -
【小白学习keras教程】七、基于Digits数据集训练基本自动编码器无监督神经网络
@Author:Runsen本文博客目标:了解自动编码器的基本知识参考文献https://blog.keras.io/building-autoencoders-in-keras.htmlhttps://medium.com/@curiousily/credit-card-fraud-detection-using-autoencoders-in-keras-tensorflow-for-hackers-part-vii-20e0c85301bd我们将探索一种称为 Autoenco原创 2021-07-14 08:58:48 · 1136 阅读 · 0 评论 -
Tensorflow flat_map操作
map函数生成的数据集可以包含不同类型的元素,但最终数据集的结构仍然是嵌套的。flat_map函数生成的数据集是一个平铺的数据集,其中每个元素都是一个单独的数据集,这些数据集会被合并成一个。这使得flat_map更适合用于数据拆分和合并的场景。原创 2021-07-14 08:40:31 · 1341 阅读 · 1 评论 -
19 | Tensorflow基于reuters数据集训练RNN模型
前馈神经网络(例如 MLP 和 CNN)功能强大,但它们并未针对处理“顺序”数据进行优化。RNN 适合处理顺序格式的数据,因为它们具有。例如,考虑翻译语料库的情况。换句话说,它们不具有先前输入的“记忆”换句话说,他们保留序列中早期输入的。来猜测下一个出现的单词。原创 2021-07-14 08:07:12 · 1248 阅读 · 1 评论 -
tensorflow digits数据集CNN分类
CNN的基本结构:CNN与MLP相似,因为它们只向前传送信号(前馈网络),但有CNN特有的不同类型的层。将数据划分为列车/测试集。原创 2021-07-13 21:14:39 · 1307 阅读 · 1 评论 -
1 | Tensorflow常见模型层
全连接层(Dense):一种常规的神经网络层,每个节点都与前一层的所有节点相连,用于分类或回归输出。在本模型中,先是一个具有ReLU激活函数的128个单元的全连接层,用于进一步处理特征,然后是一个输出层,使用softmax激活函数输出每个类别的预测概率。这是由前一层的输出节点数(128)乘以当前层的输出节点数(10),再加上每个输出节点的偏置参数(10),即(128*10 + 10)=1,290。展平层(Flatten):将二维的特征图转换为一维的向量,这样才能将卷积层和全连接层连接起来。原创 2021-07-13 20:55:32 · 3215 阅读 · 0 评论 -
【小白学习keras教程】二、基于CIFAR-10数据集训练简单的MLP分类模型
分类任务的MLP当目标(y)是离散的(分类的)对于损失函数,使用交叉熵;对于评估指标,通常使用accuracy数据集描述CIFAR-10数据集包含10个类中的60000个图像—50000个用于培训,10000个用于测试有关更多信息,请参阅官方文档from tensorflow.keras.datasets import cifar10from tensorflow.keras.utils import to_categorical# load data and flatten X d原创 2021-07-13 20:38:15 · 1746 阅读 · 0 评论 -
波士顿住房数据集训练MLP模型
@Author:Runsen多层感知机(MLP)有着非常悠久的历史,多层感知机(MLP)是深度神经网络(DNN)的基础算法数据集描述波士顿住房数据集共有506个数据实例(404个培训和102个测试)13个属性(特征)预测“某一地点房屋的中值”文件编号:https://keras.io/datasets/1.创建模型Keras模型对象可以用Sequential类创建一开始,模型本身是空的。它是通过添加附加层和编译来完成的文档:https://keras.io/models/sequent原创 2021-07-13 20:30:00 · 1912 阅读 · 0 评论 -
教你如何使用 OpenCV检测图像中的轮廓
轮廓是连接所有具有某种颜色或强度的连续点的闭合曲线,它们代表图像中发现的对象的形状。轮廓检测是一种用于形状分析和物体检测和识别的有用技术。原创 2021-06-06 22:33:38 · 3069 阅读 · 4 评论 -
计算机视觉,基于skimage对图像阈值分割的学习
阈值处理是图像分割的一种,在其中更改图像的像素以使图像更易于分析。在阈值化中,将图像从彩色或灰度转换为 二进制图像,即简单的黑白图像原创 2021-05-25 15:24:08 · 2279 阅读 · 2 评论 -
16 | PyTorch Tensor 基础
PyTorch是一个开源的机器学习库,广泛用于计算机视觉和自然语言处理等应用。以下是一个简单的神经网络模板,演示了如何构建一个基本的全连接前馈神经网络。来确保在前向传播时不计算梯度,这有助于减少计算量并加速预测过程。训练过程涉及在训练数据上反复执行前向传播、计算损失、执行反向传播以计算梯度,然后更新模型参数。是一种标准化技术,用于在不同批次的输入中保持一致的均值和标准偏差。在上面的模型中缺少了优化器,我们无法得到对应损失。的操作,这些是进行深度学习研究和开发的基础。为了进行预测,我们将使用训练好的模型。原创 2021-06-14 21:41:27 · 1199 阅读 · 3 评论 -
13 | TensorFlow2对识别验证码
在此验证码数据中,容易出现过拟合的现象,你可能会想到添加更多的新数据、 添加正则项等, 但这里使用数据增强的方法,特别是对于机器视觉的任务,数据增强技术尤为重要。这次使用函数式API创建模型,函数式API是创建模型的另一种方式,它具有更多的灵活性,包括创建更为复杂的模型。在数据集中存在的验证码png图片,对应的标签就是图片的名字。对数据进行一个简单的分析,统计图像中大约出现了什么样的符号。下面绘制错误的验证码图像,并标准正确和错误的区别。为了计算每个单词的错误数,绘制相关的条形图。原创 2021-06-09 17:48:00 · 8053 阅读 · 8 评论 -
初学者学习深度学习,不得不会的Google Colab基本操作
最近,一直在学习Google Colab。可以来说,学习Ai,入门就是Google Colab原创 2021-05-30 19:56:22 · 8393 阅读 · 3 评论 -
3 | Pytorch动态计算图和GPU支持操作
总结 ,PyTorch 提供了动态计算图(Dynamic Computational Graph)的特性,这意味着计算图是在运行时动态构建的,而不是在模型定义时静态构建的。PyTorch 模型可以在 GPU 上训练,这通过将模型和输入数据都移动到 GPU 上实现。在最后一个输出上调用函数来对计算图执行反向传播,这样可以,计算了每个具有属性的张量的梯度。在深度学习中使用 PyTorch 的主要原因之一,是我们可以自动获得定义的函数的。现在让我来一步一步地构建计算图,了解每个操作是到底是如何添加到计算图中的。原创 2021-06-14 20:36:11 · 1197 阅读 · 1 评论 -
11 | Tensorflow实现卷积神经网络
卷积神经网络是一种特殊的多层神经网络,主要用于提取特征。CNN使用称为卷积和池化的两个操作将图像缩小为其基本特征,并使用这些特征适当地理解和分类图像。原创 2021-05-31 08:24:58 · 9348 阅读 · 19 评论 -
无须搭建环境,只需十分钟使用Google Colab平台,基于YOLOv4和Darknet来实现的物体检测
最近,了解计算机视觉的都知道YOLO 很火,从2016年的v1版本开始到现在的v5,YOLO 是一种实时目标检测算法,算法模型不需要训练,直接用就可以了。YOLO 是英文You Only Look Once的缩写。You Only Look Once说的是只需要一次CNN运算,Unified指的是这是一个统一的框架,提供end-to-end的预测。原创 2021-05-20 00:04:20 · 10162 阅读 · 10 评论 -
在 Python 中使用 OpenCV 高斯模糊我这张的丑脸
@Author:Runsen谁都无法否认,长得好看的人就是更具有吸引力,赏心悦目谁都喜欢。好看的人无论在职场或情场,都一定更占优势。但是,此「颜值」非彼「颜值」。一说到「颜值」,大部分想到的是脸蛋。因此,对于我来说,希望模糊图像和视频的人脸。在本篇博客中,你将学习如何使用 Python 中的 OpenCV 库模糊图像和视频中的人脸。为了模糊图像中显示的人脸,首先检测这些人脸及其在图像中的位置。对此,查看之前的一篇关于人脸检测的教程,在这里使用人脸检测的源代码。我们使用基于SSD的人脸检测,具体源代原创 2021-06-06 18:39:43 · 5260 阅读 · 17 评论 -
【小白学习PyTorch教程】四、基于nn.Module类实现线性回归模型
@Author:Runsen上次介绍了顺序模型,但是在大多数情况下,我们基本都是以类的形式实现神经网络。大多数情况下创建一个继承自 Pytorch 中的 nn.Module 的类,这样可以使用 Pytorch 提供的许多高级 API,而无需自己实现。下面展示了一个可以从nn.Module创建的最简单的神经网络类的示例。基于 nn.Module的类的最低要求是覆盖__init__()方法和forward()方法。在这个类中,定义了一个简单的线性网络,具有两个输入和一个输出,并使用 Sigmoid()函原创 2021-06-14 22:34:29 · 1214 阅读 · 3 评论 -
【小白学习PyTorch教程】五、在 PyTorch 中使用 Datasets 和 DataLoader 自定义数据
@Author:Runsen有时候,在处理大数据集时,一次将整个数据加载到内存中变得非常难。因此,唯一的方法是将数据分批加载到内存中进行处理,这需要编写额外的代码来执行此操作。对此,PyTorch 已经提供了 Dataloader 功能。DataLoader下面显示了 PyTorch 库中DataLoader函数的语法及其参数信息。DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_samp原创 2021-06-16 01:07:02 · 1508 阅读 · 2 评论 -
通过opencv制作人脸识别的窗口,这也太疯狂了
人脸检测,看似要使用深度学习,觉得很高大牛逼,其实通过opencv就可以制作人脸识别的窗口。原创 2021-05-24 13:23:04 · 11906 阅读 · 34 评论 -
15 | PyTorch构建图像分类模型
mean 和 std 参数的参数数量取决于 PIL 图像的模式,由于PIL 图像是 RGB,这意味着它们具有三个通道——红色、绿色和蓝色,其范围是。将 CIFAR10 数据集中的类型图像转换为由 Python 图像库 ( PIL ) 图像组成的张量,缩放到。图像识别本质上是一种计算机视觉技术,它赋予计算机“眼睛”,让计算机通过图像和视频“看”和理解世界。在上面代码,首先将想要的转换并将其放入括号列表中。. 这些分别是绘图和数据转换的基本库。接下来,我们将一些训练图像可视化。数据集中的图像数据的转换器。原创 2021-06-16 01:48:35 · 1377 阅读 · 1 评论 -
12 | TensorFlow2判断细胞图像是否感染
在本教程中,我们将使用 TensorFlow (Keras API) 实现一个用于二进制分类任务的深度学习模型,该任务包括将细胞的图像标记为感染或未感染疟疾。使用sklearn的train_test_split()方法将数据集划分为训练集和测试集,我们使用总数据的 10% 稍后对其进行验证。在这里我们将除以255,因为像素可以达到的最大值是255,这将导致应用缩放后像素范围在 0 和 1 之间。在建立的模型中,我们将添加 3 个卷积层,然后Flatten是由层组成的全连接Dense层。查看X的shape。原创 2021-06-08 00:19:22 · 1374 阅读 · 2 评论 -
毕业了,在Python中使用 OpenCV 和K-Means 聚类对毕业照进行图像分割
图像分割是将图像分割成多个不同区域(或片段)的过程。目标是将图像的表示变成更容易和更有意义的图像。原创 2021-06-06 13:54:23 · 8274 阅读 · 23 评论 -
7 | PyTorch基本操作
NumPy 是Python 编程语言的库,增加了对大型、多维数组和矩阵的支持,以及对这些数组进行操作的大量高级数学函数集合。它是一个按运行定义的框架,这意味着您的反向传播是由您的代码运行方式定义的,并且每次迭代都可以不同。使用 PyTorch 提供的函数,计算一个张量中所有元素的平均值、标准差和和。,并实现一个函数,对该张量进行归一化,使得其所有元素都在 0 到 1 之间。的随机张量,然后将张量中所有小于 0 的值替换为 0。的张量,其中元素的值是从 1 到 9 的连续整数。,实现简单的线性回归模型。原创 2021-06-12 19:21:15 · 2051 阅读 · 5 评论 -
14 | TensorFlow2对阿拉伯语手写字符数据集进行识别
该数据集由 60 名参与者书写的16,800 个字符组成,年龄范围在 19 至 40 岁之间,90% 的参与者是右手。每个参与者在两种形式上写下每个字符(从“alef”到“yeh”)十次,如图 7(a)和 7(b)所示。表格以 300 dpi 的分辨率扫描。使用 Matlab 2016a 自动分割每个块以确定每个块的坐标。该数据库分为两组:训练集(每类 13,440 个字符到 480 个图像)和测试集(每类 3,360 个字符到 120 个图像)。数据标签为1到28个类别。原创 2021-06-08 18:03:16 · 2592 阅读 · 1 评论 -
三、ResNet50预置算法提高美食分类识别精确度
@Author:Runsen@Date:2020/5/21上次,华为云ModelArts零代码实现美食分类识别,但是在精确度在并不理想。这次,我使用ResNet50算法,这是什么东西,不用管。文章目录数据集下载创建项目标注数据发布数据集订购ResNet50预置算法训练数据集下载本次数据集使用的是foods_recongition_23数据集下载下载数据集压缩包至本地,解压一样的道理先看看训练和测试数据集这里和上次不一样,在训练数据集中,存在txt,存放的就是图片的标签。该数据集原创 2021-04-15 10:49:55 · 1358 阅读 · 0 评论