深度学习
文章平均质量分 75
zhao_crystal
这个作者很懒,什么都没留下…
展开
-
pytorch+GPU
pytorch + GPU的使用原创 2022-09-04 17:23:03 · 376 阅读 · 0 评论 -
分布式训练(二)——分布式策略
1.为什么需要分布式训练程序跑的慢。训练程序跑的慢的原因:(1)数据量太大训练要想达到较好的效果,往往需要的训练数据就会比较多,数据越多,模型的鲁棒性就越好。模型的训练又以epoch为单位,把训练数据迭代一次,就是一个epoch。Epoch值越大,理论上来说,模型训练的越好,而当数据太大的时候,就会导致做一个epoch所需要的时间比较长(2)模型太复杂为了得到好的结果,往往需要复杂的模型。复杂的模型往往意味着更大的计算量,从而程序变慢。日益增长的数据量和模型的复杂度与落后的计原创 2022-03-27 14:57:35 · 2145 阅读 · 1 评论 -
分布式训练(一)——GPU设置
1. GPU设置(1)默认用全部GPU并且内存全部占满(why GPU或者内存会全部占满?)(2)如何不浪费内存和计算资源? 内存自增长:即弹性内存机制,内存自增长。需要多少内存,就用多少内存。 虚拟设备机制:类似于windows中的磁盘(系统中一般只有一个磁盘,单windows会将其分成好几个盘,比如C盘,D盘,E盘,每个盘放不同的东西)虽然只有一个GPU,但可以将其切分成多个逻辑上的GPU(3)多GPU使用虚拟GPU & 实际GPU手工设置 &a...原创 2022-03-23 22:37:12 · 4917 阅读 · 0 评论 -
循环神经网络(二)——LSTM
1. 为什么需要LSTM普通RNN的信息不能长久传播(存在于理论上)。 ,输入x会稀释掉状态s,故其信息不能长久的传播。2. LSTM中引入了什么2.1 选择性机制选择性输入 选择性遗忘 选择性输出 2.2实现选择性机制的方法 2.2.1门——> sigmoid 函数 2.2.2 门限机制向量A——>sigmoid ——>[0.1, 0.9, 0.4, 0, 0.6]向量B——>[13.8, 14, -7, -4, 30.0..原创 2022-03-21 23:19:27 · 1048 阅读 · 0 评论 -
循环神经网络(一)
目录1. Embedding与变长输入处理1.1 Embedding1.1.1 One-hot编码1.1.2 Dense embedding1.2 变长输入1.2.1 Padding1.2.2 cut1.2.3 合并1.3实战1.3.1 载入数据集1.3.2 载入数据集的词表1.3.3对变长输入做处理1.3.4 构建模型1. Embedding与变长输入处理1.1 Embedding1.1.1 One-hot编码Word——>..原创 2022-03-06 22:53:40 · 1692 阅读 · 0 评论 -
迁移 学习
目录1. fine_tune实战1.1 读取数据1.2构建模型1.2.1 resnet模型不训练1.2.2resnet模型部分层次训练1.2.3 效果对比迁移学习:是利用之前训练好的模型,在当前的任务上进行提升。Fine_tune 训练较少次数即可以得到较好的模型1. fine_tune实战使用10 monkeys数据集1.1 读取数据# 通过height, width 参数来将输入的图片规整为统一的尺寸height = 224 # 图片的长wi..原创 2022-02-26 23:07:28 · 2423 阅读 · 0 评论 -
数据 增强
目录1. 数据增强在tf中的实现2. 实战1. 数据增强在tf中的实现通过keras.preprocessing.image.ImageDataGenerator接口来实现数据增强rescale = 1./255, # 将所有的像素点缩放到0——1,因为所有的像素点的值在0——255之间。rotation_range = 40, # 图像增强的一种方式,比如 ratation_range = 40, 表示将图像随机旋转的角度为-40——40度之间。width_shift_ra原创 2022-02-26 22:53:01 · 2920 阅读 · 0 评论 -
深度可分离卷积
目录1. 深度可分离卷积模型结构2.深度可分离卷积的由来2.1 InceptionV3模型结构2.2引入深度可分离卷积3. 深度可分离卷积与普通卷积的计算量3.1 普通卷积的计算量3.2 深度可分离卷积计算量4. 实战深度可分离卷积,可以用较小的精度损失来换取极大的计算量以及内存的减小。从而使得普通的卷积神经网络能够在计算能力比较低的设备上运行,比如手机等。1. 深度可分离卷积模型结构2.深度可分离卷积的由来2.1 InceptionV3模型...原创 2022-02-26 22:49:17 · 3373 阅读 · 0 评论 -
tensorflow基础之——tf.feature_column, tf.estimator, pre_estimator
import tensorflow as tffrom tensorflow import kerasimport pandas as pdimport pprinttrain_file = '/content/drive/MyDrive/data/titanic/train.csv'eval_file = '/content/drive/MyDrive/data/titanic/eval.csv'train_d原创 2022-01-31 14:31:51 · 2024 阅读 · 1 评论 -
tensorflow dataset 基础之——tfRecord
tf.record是tensorflow中独有的一个格式,故其有很多优势,在读取数据方面,tf.records有着速度快的优势1. tfRecord介绍-> tf.train.Example.-> tf.train.Features -> {"key": tf.train.Feature}.-> tf.train.Feature -> tf.train.ByteList/FloatList/Int64Listfavorite_books = [...原创 2022-01-08 17:22:27 · 1542 阅读 · 0 评论 -
tensorflow dataset基础之——dataset api的使用
目录1. 使用from_tensor_slices生成datasets2. repeat epoch & get batch3. interleave4. 用元组初始化一个dataset5.用字典初始化一个dataset6.实战之——通过filename得到datasets,并解析6.1 将一系列文件中的内容读取出来,形成一个dataset(使用interleave api进行操作)6.2.解析csv文件.6.3 构造函数,通过filename得到datasets原创 2021-12-26 19:51:55 · 1497 阅读 · 0 评论 -
tensorflow基础之——自定义求导
目录1. 手撕求导函数1.1 一元方程1.2 二元方程2. 用tensorflow中的库函数完成求导2.1 一阶函数求导/梯度2.2 二阶函数求导3. 梯度下降算法的实现3.1 手撕梯度下降算法3.2 使用keras.optimizers.SGD() 中的 apply_gradient特性,完成梯度下降算法1. 手撕求导函数1.1 一元方程def f(x): return 3. * x ** 2 + 2. * x - 1def approxim.原创 2021-12-20 00:37:51 · 1296 阅读 · 0 评论 -
tensorflow基础之——将python函数转化为tensorflow图函数
目录1. 使用tf.function转化成tensorflow函数2.使用装饰器将python函数转化为tensorflow中的函数3. 展示tensorflow的函数结构4.python函数中有变量的处理方法5.对函数的输入类型作限定5.1 为什么要对函数的入参做类型的限定?5.2使用tf.function中的input_signature对入参类型进行限定5.3 使用get_concrete_function对入参类型进行限定,并将function转化为带有图定义的c..原创 2021-12-17 22:40:27 · 1545 阅读 · 0 评论 -
tensorflow基础api及与keras的集成
目录1. tensor 常量1.1 数值常量1.1.1 向量1.1.2 标量(scalars)1.2 字符串常量1.2.1 strings1.2.2 strings array2. ragged tensor常量2.1 数值常量2.1.1 向量3. Spaser tensor 常量3.1 sparse tensor convision to tensor3.2 spaser tensor 的运算操作4. tensor 变量4.1 赋值操作1.原创 2021-12-13 20:48:37 · 1421 阅读 · 0 评论 -
超参数搜索——怎样得到最优模型?
1.什么是超参数超参数:即指在运行机器学习,深度学习算法之前需要指定的参数。一般说调参,这里的“参“就是指超参数。1.1 机器学习中的超参数KNN算法中k就是超参数; k-means算法中的k也为超参数。1.2 深度学习中的超参数训练参数:batch_size, learning_rate(学习率), step(步长),学习率衰减算法,dropout_rate等。 网络结构参数:几层,每层宽度,每层激活函数等2. 为什么要进行超参数搜索机器学习算法和神经网络有很多训练过程中不变.原创 2021-12-12 20:01:12 · 1591 阅读 · 1 评论 -
wide&deep模型——应用推荐
目录1.稀疏特征和密集特征1.1 稀疏特征1.1.1 什么是稀疏特征1.1.2 稀疏特征的叉乘1.1.3 稀疏特征的优缺点1.2 密集特征1.2.1 什么是密集特征1.2.2 密集特征的优缺点2 Wide&Deep模型2.1 wide &deep vs. wide2.2 wide & deep vs. deep2.3Google商店推荐算法模型图3. wide&deep模型的实现3.1 函数式API3.2 子类A..原创 2021-12-09 21:59:19 · 786 阅读 · 0 评论 -
keras实战
目录1. Keras 搭建简单模型1.1 keras搭建分类模型1.1.1 搭建一个简单的分类模型1.1.2 callback的使用1.2 Keras搭建回归模型2. Keras搭建深度网络2.1 搭建一个20层的深度网络2.1.1实现批归一化2.1.2使用激活函数——selu2.1.3 防止过拟合——dropout1. Keras 搭建简单模型1.1 keras搭建分类模型1.1.1 搭建一个简单的分类模型其中涉及:loss的选择:sparse_原创 2021-12-07 09:16:53 · 1302 阅读 · 0 评论 -
深度学习基础知识
目录1. 激活函数2. 损失函数3. 归一化3.1 归一化3.1.1将特征数据缩放到一个范围 scale to a range3.1.2 均值方差归一化(standardization)3.1.3 RobustScaler3.2 批归一化3.3 归一化的作用4. 过拟合4.1 什么是过拟合4.2 深度网络中随机丢弃神经元——Dropout,防止过拟合1. 激活函数2. 损失函数3. 归一化3.1 归一化这里的归一化在机器学习算法中的归.原创 2021-12-04 20:55:25 · 7611 阅读 · 1 评论 -
在docker中使用tensorboard,localhost拒绝请求的解决办法
据我个人理解,localhost拒绝请求原因是:我们在docker中使用tensorboard,启动的localhost:6006 服务,此localhost非我们宿主机的localhost。怎么办呢?查了资料,有的说是要桥接一下等等。我不是特别能理解,也不折腾了,换一个思路,在宿主机上直接装一个tensorflow。我的宿主机是mac,系统中已经内置了python2.7 和python3.8,但是pip没有(1)安装pip3curl https://bootstrap.pypa.io/ge原创 2021-12-04 17:08:50 · 2725 阅读 · 0 评论 -
Keras简介
1. Keras是什么(1)基于python的高级神经网络API(2)Francois Chollet于2014——2015年编写Keras(3)以tensoeflow,CNTK或Theano为后端运行,keras必须有后端才可以运行(后端可以切换,写在多用tensorflow)(4)极方便于快速实验,帮助用户以最少的时间验证自己的想法2.tensoeflow-keras是什么(1)Tensoeflow对keras API规范化的实现(2)相对于tensorflow为后端的ke.原创 2021-12-04 14:13:40 · 1199 阅读 · 0 评论 -
Google Colab的使用
https://zhuanlan.zhihu.com/p/54389036转载 2021-06-25 21:09:41 · 167 阅读 · 0 评论 -
七. 图像生成文本
一. 问题介绍1. Deep Learning 出现之前不能提取图像的抽象信息不能生成有意义的句子检索问题:从候选句子中选择最匹配的无法泛化:对新图像没有结果2. 图像生成文本的应用图像搜索——丰富图像搜索元数据,增强搜索结果盲人导航少儿教育3. 图像生成问题的评测3.1 BLEU score(1) N-gram Match = Match_items / all items in resulteg1:1- gram: 4/5 2- gram:原创 2021-05-02 16:57:22 · 1771 阅读 · 0 评论 -
六. 循环神经网络
1. 循环神经网络的基本结构维护一个状态作为下一步的额外输入每一步使用同样的激活函数2. 为什么需要循环神经网络——序列式问题1对多:图片生成描述多对1: 文本分类(文本情感分析)实时多对多:视频解说多对多: encoding-decoding,机器翻译3. 循环神经网络(1)字符语言模型: 预测下一个字符 词典:[j, e, p] 样本:jeep进一步地:Test time,上一步输出作为下一步输入...原创 2021-04-18 23:56:07 · 283 阅读 · 1 评论 -
卷积神经网络(四)——应用
1. 卷积神经网络的应用图像风格转换图像修复换脸图像超清化图像翻译文字生成图像2. 卷积神经网络学到了什么卷积神经网络的每一层激活值都可以看作是图像的抽象表示。(卷积神经网络中某层的每个激活值都可以看作是一个分类器,众多的分类结果组成了抽象表示。层级越高,特征抽象程度越高。)3. 图像风格转换-V1(1)内容特征&风格特征内容特征:图像输入到CNN得到的某一层的激活值。使用内容特征生成图像:保持卷积神经网络的参数不变调整图像X.原创 2021-03-08 16:10:27 · 7705 阅读 · 0 评论 -
卷积神经网络(三)——调参
1. 更多的优化算法(1)随机梯度下降 局部极值 saddle point问题(2)动量梯度下降随机梯度下降和动量梯度下降存在的问题: 受初始学习率影响很大 每一个维度的学习率一样(3)AdaGrad算法前期,regularizer较小,放大梯度后期,regularizer较大,缩小梯度梯度随训练次数降低每个分量有不同的学习率缺点:学习率设置太大,导致regularize...原创 2021-02-23 00:34:18 · 3396 阅读 · 0 评论 -
卷积神经网络(二)——AlexNet,VGGNet,ResNet,InceptionNet,MobileNet
Q:为什么需要不同的网络结构不同的网络结构解决的问题不同不同的网络结构使用的技巧不同不同的网络结构应用的场景不同一. 模型的演变与进化模型演变AlexNet, VGG, ResNet, Inception, MobileNet模型的进化更深更宽——AlexNet到VGGNet不同的模型结构——VGG到InceptionNet/ResNet优势组合——I...原创 2020-01-31 22:37:08 · 5702 阅读 · 0 评论 -
卷积神经网络(一)——基础知识
1. 为什么要使用卷积神经网络(1)神经网络遇到的问题——参数过多参数过多——容易过拟合,需要更多的训练数据 收敛到较差的局部极值(2)卷积可以解决的问题 神经网络全连接&卷积局部连接图像的特点1:图像的区域性,即某一区域内像素点特征类似。(某一像素为头发,其周围的的像素点也为头发的特征值)——...原创 2020-01-30 18:13:48 · 2028 阅读 · 0 评论 -
机器学习&深度学习
1. 人工智能,机器学习和深度学习的关系2. 机器学习的应用举例及应用流程3. 深度学习算法合集原创 2020-01-27 18:43:55 · 131 阅读 · 0 评论 -
Tensorflow基础
1. tensorflow介绍Google Brain 的第二代机器学习框架 开源社区活跃 可扩展性好 API健全,对用户友好2. Tensorflow为声明式编程(1)命令式编程(2)声明式编程3. tensorflow的安装3.1 mac 在anaconda 下安装tensorflow(1)建立一个Tensorflow的运行环...原创 2019-08-15 23:29:21 · 515 阅读 · 0 评论 -
一. 神经网络简介
1. 神经网络的几个名词1.1 神经元——最小的神经网络1.2 逻辑回归模型神经元——激活函数sigmoid——二分类逻辑斯蒂回归模型代码详见:https://github.com/crystal30/Deep-learningcifar-10-batches-py 为数据集data_introduction.ipytnb 主要是对数据集的查看...原创 2019-08-07 00:40:54 · 351 阅读 · 0 评论