
Deep learning
文章平均质量分 79
lai_cheng
Artificial Intelligence Research Center, Peng Cheng Lab(Shenzhen, China)
展开
-
深度学习框架层次结构
本文介绍目前主流的深度学习框架层次结构,包括TensorFlow2、PyTorch、MindSporeTensorFlow层次结构TensorFlow2的层次结构为:硬件层,内核层,低阶API,中阶API,高阶API。硬件层:TensorFlow所支持的硬件如CPU,GPU,TPU。内核层:内核是C++ 实现的,包括函数库,本地运行时,分布式运行时,OP定义及其Kernel的实现等。低阶API:低阶API也被称为算子,封装了C++内核的低阶API,主要包括各种张量,算子,计算图,自动微分等。如t原创 2022-01-11 17:18:32 · 1908 阅读 · 0 评论 -
背景: 设计和实现一个轻量化的深度学习库
**使用TensorFlow实现自己的深度学习库系列**# 背景**目的**:设计轻量级深度学习库,使用TensorFlow作为计算引擎,对其进行高层次封装,搭建一个自己的深度学习API,方便在工程实践中快速实现深度学习模型。Keras在2015年3月首次推出,作为一个对Theano的封装库,它为工程师和研究人员构建自己的深度学习模型提供了极大的便利。随着深度学习领域的高速发展,在2015年11月谷歌大脑团队推出了深度学习框架TensorFlow1.0,TensorFlow1.0作为深度学习框架中声原创 2021-12-16 13:40:13 · 1238 阅读 · 0 评论 -
PyTorch模型训练完毕后静态量化、保存、加载int8量化模型
1. Pytorch模型量化方法Pytorch模型量化方法介绍有很多可以参考的,这里推荐两篇文章写的很详细可以给大家一个大致的参考Pytorch的量化,官方量化文档Pytorch的量化大致分为三种:模型训练完毕后动态量化、模型训练完毕后静态量化、模型训练中开启量化,本文从一个工程项目(Pose Estimation)给大家介绍模型训练后静态量化的过程。具体量化知识可以从推荐的两篇文章中学习。2. 量化过程准备工作。1.数据集下载(在做静态量化时需要对数据集进行推理获取数据的分布特点、定标原创 2021-07-21 12:40:27 · 34764 阅读 · 65 评论 -
在ARM64平台下安装TensorFlow
在ARM64平台下安装TensorFlow1.安装前环境配置2.安装TensorFlow原创 2020-08-04 17:31:16 · 6998 阅读 · 5 评论 -
TensorFlow初始化LSTM参数weight 和 bias
TensorFlow 初始化 LSTM 参数 weight 和 bias前言:前一篇博客介绍了如何可视化神经网络的每一层,很简单的做法就是将训练好数据作为神经网络的初始化参数进行前向传播。在LSTM中我们可以从官方文档看到能初始化的参数只有weight。在可视化时我们往往需要传入weight和bias,或者载入模型参数继续训练也需要载入w和b。初...原创 2019-11-25 11:40:47 · 4855 阅读 · 0 评论 -
TensorFlow神经网络可视化
TensorFlow神经网络可视化每一层目标:通过读取训练生成的模型参数,把参数输入到网络中,可视化每一层结果。方法:get_tensor方法得到模型中对应层的参数,将参数输入网络中。涉及网络层: 卷积层,反卷积层, LSTM层(未找到b的初始化方法)。运行环境1.TensorFlow 1.8.02. python 3...原创 2019-11-20 14:05:22 · 1380 阅读 · 0 评论 -
基于L1方案模型剪枝,以DNN为例实现剪枝及其前向传播
前言前一篇博客Tensorflow模型剪枝写到了tensorflow自带的剪枝方案添加掩膜矩阵来实现剪枝,在实际操作中我们并不知道每层对最后输出结果影响有多大每层用固定的稀疏度显然不合理。因此我们可以借助L1范数剪裁weight初步观察我们每一层剪裁力度对最后输出结果的影响大小。一、模型保存参数的读取def search_file(root_dir, data_type): ...原创 2019-10-11 10:22:48 · 2236 阅读 · 3 评论 -
Pytorch预训练模型
Pytorch预训练模型Pytorch支持预训练的模型如下Fromtorchvisionpackage:ResNet (resnet18,resnet34,resnet50,resnet101,resnet152) DenseNet (densenet121,densenet169,densenet201,densenet161) Inception v3 (in...原创 2019-07-22 16:44:52 · 3665 阅读 · 3 评论 -
Tensorflow 模型参数保存方法
Tensorflow 模型参数保存方法Tensorflow 保存模型参数分为两种,第一种是未剪枝参数,第二种是剪枝后的参数。对于未剪枝的参数,可以直接保存在TXT,剪枝后的参数可以按照稀疏矩阵保存方法进行保存。一、未剪枝参数保存读取参数之前需要保存模型和对应的参数,保存方法按照如下: def save_model(self): saver = tf.trai...原创 2019-06-21 11:27:55 · 4196 阅读 · 0 评论 -
TensorFlow 模型剪枝
TensorFlow 模型剪枝一、运行环境TensorFlow-gpu > 8.0python 3.6numpy 1.16CUDA 9.0 , cudnn 7.0二、模型剪枝方法模型训练时剪枝,只需选定需要剪枝的层,对于选中做剪枝的层增加一个二进制掩模(mask)变量,形状和该层的权值张量形状完...原创 2019-05-28 17:09:48 · 8660 阅读 · 40 评论 -
tfrecord格式使用方法
3.1.2 tfrecord格式使用方法3.1.2.1 tfrecord文件介绍tfrecord数据文件是将特征数据和特征数据对应的标签统一存储的二进制文件,能更好的利用内存,在tensorflow中快速的复制,移动,读取,存储。从宏观来讲,tfrecord其实是一种数据存储形式。使用tfrecord时,实际上是先读取原生数据,然后转换成tfrecord格式,再存储在硬盘上。而使用时...原创 2019-03-11 14:06:37 · 3576 阅读 · 6 评论 -
Keras 构建CNN
Keras 构建CNN一.构建CNN准备Keras构建CNN准备不像Tensorflow那么繁琐,只需要导入对应的包就行。from keras.models import Sequential导入顺序模型,这是Keras最简单的模型Sequential 顺序模型,它由多个网络层线性堆叠。from keras.layers import Dense,Activation,Conv...原创 2018-12-19 10:31:02 · 897 阅读 · 0 评论 -
Tensorflow 构建CNN详细介绍
Tensorflow 构建CNN一.构建CNN准备1.创建权重函数 def weight_variable(shape,name="w"): initial = tf.contrib.layers.xavier_initializer() return tf.get_variable(name,initializer = initial,shape=sha...原创 2018-12-17 18:23:31 · 6212 阅读 · 1 评论 -
HDF5数据格式读写
在深度学习中,通常会使用巨量的数据或图片来训练网络。对于如此大的数据集,如果对于每张图片都单独从硬盘读取、预处理、之后再送入网络进行训练、验证或是测试,这样效率可是太低了。如果将这些图片都放入一个文件中再进行处理,这样效率会更高。有多种数据模型和库可完成这种操作,如HDF5和TFRecord。1 hdf5格式使用方法1.1 hdf5文件介绍一个HDF5文件是一种存放两类对象的容器:da...原创 2018-11-30 10:38:35 · 15602 阅读 · 2 评论