tesorflow
文章平均质量分 52
CV视界
专注于深度学习、计算机视觉和自然语言处理等多个方向技术分享。
展开
-
创建keras环境步骤
安装环境1 下载并安装miniconda下载miniconda的网站bash Miniconda3-latest-Linux-x86_64.sh 执行安装一股YES,安装成功,但是会发现不存在。gaochengli@station1-PR4764GW:~$ pip listCommand 'pip' not found, but can be installed with:sudo apt install python-pip此时,我们对终端进行重启即可2 创建lihuanyu环境原创 2021-08-13 09:12:10 · 2029 阅读 · 0 评论 -
tebsorflow2.0 语义分割(Oxford-IIIT数据集)
语义分割是在像素级别上的分类,属于同一类的像素都要被归为一类,因此语义分割是从像素级别来理解图像的。The Oxford-IIIT Pet Dataset是一个宠物图像数据集,包含37种宠物,每种宠物200张左右宠物图片,并同时包含宠物轮廓标注信息。下面就是tensorflow2.0的对该数据集的语义分割实现。本文基于TF2.0 , 谷歌Colab平台。from google.colab import drivedrive.mount('/content/gdrive')import osos.c原创 2020-05-23 18:39:41 · 1716 阅读 · 2 评论 -
tebsorflow2.0 图像定位+分类(Oxford-IIIT数据集)
对于单纯的分类问题,比较容易理解,给定一副图画,我们输出一个标签的类别。而对于定位问题,需要输出四个数字(x,y,w,h),图像的某一点坐标(x,y),以及图像的宽度和高度,有了这四个数字,我们很容易找到物体的边框。The Oxford-IIIT Pet Dataset是一个宠物图像数据集,包含37种宠物,每种宠物200张左右宠物图片,并同时包含宠物轮廓标注信息。考虑到实验的简洁性,我们将类别分为了两大类“dog”和"cat",其中图片信息是以大写开头为“cat”,小写开头为“dog”1. 导入相关包原创 2020-05-21 09:18:11 · 1156 阅读 · 1 评论 -
tebsorflow2.0 多输出模型实例
文章目录1. 简单介绍2. 加载相关数据包2.1 图片的路径的配置2.2 读取图片3. 图片预处理4. 训练阶段4.1 设置验证集与数据集4.2 构建模型并训练5. 模型评估1. 简单介绍本文的应用场景多输入问题,采用的数据集为有,'black_jeans','black_shoes','blue_dress','blue_jeans','blue_shirt','red_dress','red_shirt'七个类别,我们将根据颜色和衣服类型进行两类输出2. 加载相关数据包import tensor原创 2020-05-19 23:04:13 · 544 阅读 · 0 评论 -
tebsorflow2.0 使用Keras编写自定义图层和模型
1.构建自定义层1.1 基本模型框架构建首先我们先定义一个全连接层,来对其有一个基本的认识,它应该封装一些权重和一些基本的计算。from tensorflow.keras import layersclass Linear(layers.Layer): def __init__(self, units=32, input_dim=32): super(Linear, self).__init__() w_init = tf.random_normal原创 2020-05-19 11:40:58 · 615 阅读 · 0 评论 -
tebsorflow2.0 tf.keras猫狗识别(2)—自定义训练
在上一篇文章中,我们介绍了利用tensorflow封装好的神经网络来训练猫狗数据集。但是在科研中有时我们需要对网络进行修改,这是我们就需要自定义网络训练第一部分我们已经介绍了图片的读取,这里就不在一一赘述tebsorflow2.0 tf.keras猫狗识别,我们直接从图片的预处理。1. 图片预处理在这一部分我们采用from_tensor_slices的方法对图片数据集进行构建,对比tf1.x版本采用队列形式读取数据,这一种方法比较简单切易于理解。#构建一个tf.data.Dataset#一个图片数原创 2020-05-13 13:04:46 · 838 阅读 · 0 评论 -
tebsorflow2.0 eager模式与自定义训练网络
对比tensorflow1.x版本静态图模式,tensorflow2.x推荐使用的是eager模式,即动态计算模式,它的特点是运算可以立即得到结果。我们可以通过tf.executing_eagerly()来判断是不是eager模式,如果返回的为True,使用的则为eager模式。首先我们简答介绍一下在eager模式下的计算。x = [[2,]]m = tf.matmul(x,x)print(m)tf.Tensor([[4]], shape=(1, 1), dtype=int32)tf.matm原创 2020-05-11 22:50:40 · 621 阅读 · 0 评论 -
tebsorflow2.0 tf.keras猫狗识别(1)
1. 简单介绍本文的应用场景是二分类问题,采用的数据集为猫狗分类数据集,为了减少训练时间,训练集图片有2123张,验证集有909 张图片,测试的图片有1000张,分为猫和狗两个类别,图片已经放置在dc_2000文件夹下面。2 加载图片2.1 导入相关包并加载图片# 导入相关包from google.colab import drivedrive.mount('/content/gdrive')import osos.chdir("/content/gdrive/My Drive/Colab原创 2020-05-10 18:43:04 · 911 阅读 · 0 评论 -
tebsorflow2.0 tf.keras序列问题
本章是主要介绍的是序列问题的处理,采用的数据集为电影评论数据集,我们通过keras.datasets.imdb直接导入,之后我们建立模型,对其进行分类,并处理过拟合问题。1. 数据预处理from google.colab import drivedrive.mount('/content/gdrive')import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layersdata = k原创 2020-05-09 00:48:55 · 484 阅读 · 0 评论 -
tebsorflow2.0 卷积神经网络的实现实例
本实例主要介绍利用tf.data读取图片的方法卷积神经网络的构建训练以及测试1. 数据集介绍本文的应用场景是对于卫星图片数据的分类,图片总共1400张,分为airplane和lake两类,也就是一个二分类的问题,所有的图片已经分别放置在2_class文件夹下的两个子文件夹中。数据集–提取码:7qb02. 加载图片在该过程主要分为两个部分,第一个步骤是读取文件所在的路径,第二个步骤...原创 2020-05-08 17:26:55 · 1096 阅读 · 2 评论 -
tebsorflow2.0 深度学习基础和tf.keras
1. tf.keras实现线性回归1.1 Income数据导入可视化import tensorflow as tfimport pandas as pdimport matplotlib.pylab as pltprint('Tensorflow Version: {}'.format(tf.__version__))data = pd.read_csv(r'C:\Users\lihu...原创 2020-05-07 14:11:00 · 413 阅读 · 0 评论 -
(5)Tensorflow 变量及共享变量
本文主要根据TensorFlow变量进行的翻译整理。TensorFlow中变量主要用来表示机器学习模型中的参数,变量通过 tf.Variable 类进行操作。tf.Variable 表示张量,通过运行 op 可以改变它的值。与 tf.Tensor 对象不同,tf.Variable 存在于单个 session.run 调用的上下文之外。在内部,tf.Variable 存储持久张量。具体 op 允...转载 2020-05-02 18:34:20 · 266 阅读 · 0 评论 -
(4)[Tensorflow]L2正则化和collection【tf.GraphKeys】
L2-Regularization 实现的话,需要把所有的参数放在一个集合内,最后计算loss时,再减去加权值。相比自己乱搞,代码一团糟,Tensorflow 提供了更优美的实现方法。1. tf.GraphKeys : 多个包含Variables(Tensor)集合GLOBAL_VARIABLES:使用tf.get_variable()时,默认会将vairable放入这个集合。我们熟悉的t...转载 2020-05-01 16:33:30 · 312 阅读 · 0 评论 -
(3)tesorflow 计算模型复杂度
1. 计算模型复杂度的衡量FLOPS(即“每秒浮点运算次数”,“每秒峰值速度”),是“每秒所执行的浮点运算次数”(floating-point operations per second)的缩写。它常被用来估算电脑的执行效能,尤其是在使用到大量浮点运算的科学计算领域中。正因为FLOPS字尾的那个S,代表秒,而不是复数,所以不能省略掉。FLOPs :s为小写,指浮点运算数,理解为计算量。可以用...原创 2020-04-30 10:58:39 · 1729 阅读 · 0 评论 -
(1)tf中tensor和numpy
tensor和numpy使用tf.*定义的都是tensor,包括variable和placeholder以及tf.constant与tf的operator操作也是返回tensornumpy转tensor使用tf.convert_to_tensor可将一个numpy转为tensortensor转numpy由sess.run或者eval返回的任何张量都是numpy数组tensor和nump...原创 2020-04-23 18:54:06 · 617 阅读 · 0 评论 -
(0)global_step学习率衰减用法
主要是用在梯度下降中的学习率问题上,设置学习率的大小, 是在精度和速度之间找到一个平衡:如果学习率的值比较大, 则训练速度会提升, 但结果的精度不够。如果学习率的值比较小, 精度虽然提升了, 但训练会耗费太多的时间。global_step所以引入了退化学习率又叫学习率衰减, 它的本意是希望在训练过程中对于学习率大和小的优点都能够为我们所用, 也就是当训练刚开始时使用大的学习率加快速度, ...原创 2020-04-22 21:59:28 · 603 阅读 · 1 评论 -
(2)tf.Variable中trainable作用
如果为True,则会默认将变量添加到图形集合GraphKeys.TRAINABLE_VARIABLES中。此集合用于优化器Optimizer类优化的的默认变量列表,如果为False则在训练时不会更新该值。global_step = tf.Variable(0, trainable=False)...原创 2020-05-03 23:55:14 · 449 阅读 · 0 评论