tensorflow
放下扳手&拿起键盘
学成文武艺,货卖帝王家。
展开
-
Tensorflow2.0教程-深度可分离卷积
前言:众所周知,在2017年论文《Xception:Deep Learning with Depthwise Separable Convolutions》中首次提到了深度可分离卷积.深度可分离卷积:首先对每个通道上的特征独立执行卷积操作,其次对整体进行1*1卷积操作.可参考博文:https://zhuanlan.zhihu.com/p/92134485代码实现:这里以mobilenetv1为例:import tensorflow as tf"""MobileNetv1原创 2020-05-17 18:25:50 · 1339 阅读 · 0 评论 -
Tensorflow2.0教程-常见激活函数
一、前言:针对四种常用的激活函数进行可视化。二、代码:import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# fake datax = np.linspace(-5, 5, 100)# following are popular activation functionsy_re...原创 2019-11-17 13:35:21 · 858 阅读 · 0 评论 -
Tensorflow2.0教程-自动求导
一、前言: 目前谷歌已经开源了tensorflow2.0版本,本着铁粉的信念,学习记录一下新的征程。二、GradientTape(自动求导)介绍: tensorflow2.0版本提供tf.GradientTape api来实现对数学公式的自动求导功能。默认情况下GradientTape的资源会在执行tf.GradientTape()后被释放,即每个tape只能求一次导数。...原创 2019-11-17 13:34:48 · 541 阅读 · 0 评论 -
本地端访问服务器端Tensorboard
前言:在服务器训练模型的时候,往往想要实时监控模型训练情况,这时候就需要tensorboard来查看。下文将介绍如何通过本地访问服务器端的tensorboard。实现过程:系统环境:ubuntu16.041.打开终端,从本地访问远程服务器,使用如下命令:ssh -L 16006:127.0.0.1:6006 account@server.address2.查看训练模...原创 2019-10-31 21:02:18 · 1218 阅读 · 0 评论 -
长短时记忆网络(LSTM)结构
1.应用案例:预测股票每日最高价(一)预测股票每日最高价(二)转载 2019-05-20 16:16:20 · 844 阅读 · 0 评论 -
tf.concat
前言:tensorflow1.4.0定义:将张量连接到一个维度上。代码实现:import tensorflow as tft1 = [[1, 2, 3], [4, 5, 6],[7,8,9]]t2 = [[10,11,12],[13,14,15],[16,17,18]]with tf.Session() as sess: print(sess.run(tf.concat([t1, t...原创 2018-05-16 14:11:25 · 181 阅读 · 0 评论 -
tf.split()
前言:tensorflow版本1.4.0定义:将一个张量分为几个分张量。格式:split( value, #输入张量 num_or_size_splits, #每个分割后的张量的尺寸 axis=0, #被分张量的分割标准//当axis=0时按行分,当axis=1时,按列分。 num=None, name='split')代码实现:import ...原创 2018-05-16 13:45:03 · 3347 阅读 · 0 评论 -
tf.argmax()以及axis解析
前言:tf.argmax可以认为就是np.argmax。tensorflow使用numpy实现的这个API。 简单的说,tf.argmax就是返回最大的那个数值所在的下标。 此外,这里面就涉及到一个概念:axis。设置axis的主要原因是方便我们进行多个维度的计算。代码实现:test = np.array([[1, 2, 3], [2, 3, 4], [5, 4, 3], [8, 7, 2]])...转载 2018-05-15 23:18:03 · 658 阅读 · 0 评论 -
tf.transpose()
tf.transpose(a,perm)功能:通过改变不同维度的顺序,从而改变输入张量的shape。参数:a-输入张量;perm-指定维度顺序代码实现:import tensorflow as tfimport numpy as npa1 = [[1,2,3],[4,5,6]]b1 = tf.transpose(a1,perm=[1,0])a2 = [[[1,2,3],[4,5,6],[7...原创 2018-04-13 17:24:06 · 428 阅读 · 0 评论 -
tensorflow-gpu测试代码
1.前言:显卡昂贵,且用且珍惜!话说,安装了gpu版tf,跑跑小代码总觉得是杀鸡焉用宰牛刀的感觉。因此,我决定,跑个测试代码,来瞅瞅。2.代码如下:import tensorflow as tfwith tf.device('/cpu:0'): a = tf.constant([1.0,2.0,3.0],shape=[3],name='a') b = tf.constant([...原创 2018-03-19 19:15:28 · 103232 阅读 · 3 评论 -
tensorflow-gpu bug:The TensorFlow library wasn't compiled to use SSE instructions, but these are
1.前言:今天终于抱的显卡归了,因此迫不及待安装一下tensorflow-gpu版本!一切安装教程安装完,but出现下面的bug,顿时觉得好气。。。调整一番,还是要继续,于是找豆娘。都娘说要安装bazel,顿时看到想吐,放弃了。。。但是不能放弃,我决定再试试,于是我看到有人说是cudnn的版本问题,我就抱着试试看的心态,将原来的cudnn v5.0替换为cudnn v5.1,然后运行,果然成功了!...原创 2018-03-19 16:11:07 · 418 阅读 · 0 评论 -
TensorBoard---朝花夕拾
记得去年的时候刚开始接触tf,那会入门教程就是莫烦的视频。当时在TensorBoard上就遇到坑了,然后就绕道了,一直没有解决,现在想用可视化,只能再硬着头皮去解决,说来惭愧。好了,废话不多说了,开始讲解啦。。。操作环境:win10系统 pycharm(Anaconda3·python3.6.1)测试代码:import tensorflow as tfdef add_layer(...原创 2018-03-14 20:15:09 · 324 阅读 · 0 评论 -
tf.placeholder(dtype, shape=None, name=None)
1.函数功能:插入一个张量的占位符,这个张量总是被喂入图片数据。相当于一个形参。形参:只有在被调用时才分配内存单元,在调用结束时,就会释放出所分配的内存单元。2.函数参数:dtype:数据类型;shape:数据维度;name:数据名称3.代码实现:import tensorflow as tfinput1 = tf.placeholder(tf.float32,[1,2...原创 2018-08-12 23:22:47 · 8980 阅读 · 1 评论 -
Tensorboard---输入特征图可视化
1.预备知识:tf.summary.image(name, tensor, max_outputs=3, collections=None, family=None)参数解析:name:A name for the generated node. Will also serve as a series name in TensorBoard.tensor:A 4-D `uint8...原创 2019-01-02 21:23:16 · 3362 阅读 · 0 评论 -
数据预处理---Tfrecord
1.将img转为tfrecord文件import osimport tensorflow as tffrom PIL import Imagepath = './dataset/'classes = {'daisy','dandelion','roses','sunflowers','tulips'}writer = tf.python_io.TFRecordWriter("f...转载 2019-01-18 21:10:54 · 723 阅读 · 0 评论 -
tf.control_dependencies()作用及用法
用法转载 2019-07-08 08:43:04 · 194 阅读 · 0 评论 -
python argparse模块
简单示例操作步骤主要分三步,具体如下:创建ArgumentParser()对象调用add_argument()方法添加参数使用parse_args()解析添加的参数# -*- coding: utf-8 -*- import argparse parser = argparse.ArgumentParser()parser.add_argument('--integer',...原创 2019-07-10 23:19:24 · 89 阅读 · 0 评论 -
区别:tf.Session()和tf.Session().as_default()
点击这里转载 2019-07-10 23:46:00 · 399 阅读 · 0 评论 -
模型保存和加载
点击这里转载 2019-07-10 23:53:04 · 225 阅读 · 0 评论 -
tensorflow---ckpt模型转pb模型&pb模型的读取
前言:将深度学习算法模型部署在移动端的时候,往往需要对tf的ckpt模型做冰冻(freeze),这时候就牵扯到将ckpt模型转pb模型,并将pb模型进行读取。代码实现:1.将ckpt模型转为pb模型:import tensorflow as tffrom tensorflow.python.framework import graph_utilimport cv2from ...原创 2019-07-26 23:06:32 · 1356 阅读 · 0 评论 -
tf. 函数库与np.函数库的转换
前言: 在对算法模型进行部署的时候,往往需要做一些工作。以xilinx开发板部署tf框架模型为例,首先需要对训练好的ckpt模型进行freeze得到.pb模型,之后,对其进行量化、编译生成elf文件,然后在板卡上通过main.cc函数调用pb模型的输入/输出节点对网络模型进行计算,注意这里的计算分为两部分,其中模型的输入数据前处理和输出数据后处理的计算部分由板卡中的ARM处理器进...原创 2019-08-20 21:49:23 · 1033 阅读 · 0 评论 -
tf.gfile.FastGFile()
tf.gfile.FastGFile(path,decodestyle) 函数功能:实现对图片的读取。 函数参数:(1)path:图片所在路径 (2)decodestyle:图片的解码方式。(1.’r’–UTF-8编码;2.’rb’–非UTF-8编码)import matplotlib.pyplot as plt import tensorflow as tf #tf.gfileGFile()原创 2017-12-16 20:03:50 · 28823 阅读 · 7 评论 -
tf.stack()
tf.stack( values,axis=0,name=’stack’) 功能:将两个数组按照指定的方向进行叠加,生成一个新的数组。 参数axis:当其取0时表示按照x轴方向进行叠加,当其取1时表示按照y轴进行叠加。 例子:import tensorflow as tfa=tf.constant([1,2,3])b=tf.constant([4,5,6])c=tf.stack([a,b],原创 2017-12-25 10:03:26 · 4881 阅读 · 0 评论 -
tf.get_default_graph()
tf.get_default_graph() 功能:获取当前默认计算图。 例子:import tensorflow as tfa=tf.constant([1.0,2.0],name="a")b=tf.constant([3.0,4.0],name="b")c=a+bprint(c.graph)print(tf.get_default_graph())结果:原创 2017-11-23 17:18:08 · 17113 阅读 · 0 评论 -
tensor.get_shape()
tensor.get_shape() 功能:获取已知张量的维度。 例子:import tensorflow as tfa=tf.get_variable('a',shape=[4,2,2,1],initializer=tf.constant_initializer(0))b=a.get_shape() #获取已知张量的维度,输出为一个元组。c=b.as_list() #将元组转换为列表原创 2017-12-10 18:19:39 · 1300 阅读 · 0 评论 -
tf.reduce_mean(input,axis=None,keep_dims=False,name=None,reduction_indices=None)
tf.reduce_mean(input,axis=None,keep_dims=False,name=None,reduction_indices=None) 功能:求平均值 参数:(1)axis:0表示按列,1表示按行 ,None表示所有的维度都将被简化,返回一个带有单个元素的张量。 例子:import tensorflow as tf x = tf.constant([[1., 1.]原创 2017-11-16 22:18:12 · 430 阅读 · 0 评论 -
tf.cast(x,dtype,name=None )
tf.cast(x,dtype,name=None ) 功能:数据类型转换 参数:(1)x:需要转换数据类型的对象(2)dtype:转换至此数据类型 例子:import tensorflow as tfa=[[9.5,2.7],[1,2]]b=tf.cast(a,tf.int32)with tf.Session() as sess: print(sess.run(b))结果: [[原创 2017-11-16 21:58:04 · 607 阅读 · 0 评论 -
tf.equal(x, y, name=None)
equal(x, y, name=None) 功能:对比两个矩阵/向量的元素是否相等,如果相等就返回True,反之返回False。 例子:import tensorflow as tf A = [[1,2,3],[1,2,4]] B = [[1,2,3],[1,2,3]] C = [1,2,3]with tf.Session() as sess: print(sess.原创 2017-11-16 21:38:15 · 1032 阅读 · 0 评论 -
tf.argmax(input, axis=None, name=None, dimension=None)
tf.argmax(input, axis=None, name=None, dimension=None) 功能:对矩阵按行或列计算其最大值,并通过最大值所对应的索引号作为返回值。 参数:(1)axis:0表示按列,1表示按行 例子:import tensorflow as tf A = [[1,2,3],[1,2,4]] B = [[1,2,3], [1,3,2],[3,2,1]]原创 2017-11-16 21:14:49 · 477 阅读 · 0 评论 -
tf.Variable()
tf.Variable(initializer, name) 功能:保存和更新神经网络中的参数。 参数:(1)initializer:初始化参数(2)name:变量名 例子:import tensorflow as tf #1.tensorflow随机数生成函数#变量a是一个随机生成的满足正态分布[0,1]的,数据规模为2*2矩阵的数据。其中mean表示为期望(均值),stddev表示为方原创 2017-11-24 11:46:47 · 1968 阅读 · 0 评论 -
tf.clip_by_value()
tf.clip_by_value(v,a,b) 功能:可以将一个张量中的数值限制在一个范围之内。(可以避免一些运算错误) 参数:(1)v:input数据(2)a、b是对数据的限制。 当v小于a时,输出a; 当v大于a小于b时,输出原值; 当v大于b时,输出b; 例子:import tensorflow as tfv=tf.constant([[1.0,2.0,3.0],[4.0,5.0,原创 2017-11-26 11:29:35 · 3341 阅读 · 0 评论 -
tf.train.exponential_decay()
tf.train.exponential_decay() 功能:实现指数衰减学习率;先使用一个较大的学习率来快速得得到一个比较优的解,然后随着迭代的继续逐步减小学习率。 例子:import tensorflow as tf; import numpy as np; #step1: 创建数据类型 #定义占位符;运行时必须传入值 x = tf.placeholder(tf.flo原创 2017-11-28 19:33:49 · 637 阅读 · 0 评论 -
tf.Graph()
tf.Graph() 功能:生成新的计算图。 说明:不同计算图上的张量和运算都不会共享。 例子:import tensorflow as tfg1=tf.Graph()#将g1设置为默认图,并返回一个上下文管理器with g1.as_default():# 在计算图g1中定义变量"a",并设置初始值=0 A=tf.get_variable("a",shape=[1],ini原创 2017-11-23 19:05:27 · 2712 阅读 · 0 评论 -
tensor(张量)
tensor(张量) 说明:在TensorFlow中,所有的数据都通过张量的形式来表示。 特别是:TensorFlow计算结果是一个张量的结构:名字(name)、维度(shape)、类型(type) 功能:张量可以理解为多维数组。 零阶张量表示标量(scalar),也就是一个数。 一阶张量为向量(vector),也就是一个一维数组。 n阶张量可以理解为一个n维数组。 例子:import原创 2017-11-23 19:32:28 · 715 阅读 · 0 评论 -
tf.add_to_collection()
1.tf.add_to_collection(name,value) 功能:将变量添加到名为name的集合中去。 参数:(1)name:集合名(2)value:被添加的变量 2.tf.get_collection(key,scope=None) 功能:获取集合中的变量。 参数:(1)key:集合名 3.tf.add_n(inputs,name=None) 功能:以元素方式添加所有输入张原创 2017-12-06 16:57:06 · 1978 阅读 · 0 评论 -
tf.image.flip
图像翻转:tf.image.flipping() import tensorflow as tfimport matplotlib.pyplot as plt#tf.gfileGFile()函数:读取图像 image_jpg = tf.gfile.FastGFile('car.jpg','rb').read() with tf.Session() as sess: image_原创 2017-12-24 10:45:37 · 774 阅读 · 0 评论 -
tf.where(a,b,c)函数
tf.where(a,b,c)函数: 功能:当a输出结果为true时,tf.where(a,b,c)函数会选择b值输出。 当a输出结果为false时,tf.where(a,b,c)函数会选择c值输出。 例子:loss=tf.reduce_sum(tf.where(tf.greater(v1,v2),(v1-v2)*a,(v2-v1)*b))原创 2017-11-26 12:22:09 · 2505 阅读 · 0 评论 -
tf.greater(a,b)
tf.greater(a,b) 功能:通过比较a、b两个值的大小来输出对错。 例如:当a=4,b=3时,输出结果为:true;当a=2,b=3时,输出结果为:false。import tensorflow as tfsess=tf.Session()with sess.as_default(): print(tf.greater(4,3).eval())结果: True原创 2017-11-26 12:13:23 · 16960 阅读 · 0 评论 -
tensorflow代码实现:Inception模块
引言:Inception-v3模型总共有46层,由11个Inception模块组成。import tensorflow as tfslim=tf.contrib.slim#slim.arg_scope函数:第一个参数是一个函数列表,在这个列表中的函数将使用默认的参数取值。with slim.arg_scope([slim.conv2d,slim.max_pool2d,slim.avg_pool2原创 2017-12-12 21:39:36 · 2020 阅读 · 5 评论 -
tf.assign()
tf.assign(ref,value) 功能:赋值函数,将value赋给ref。 例子:import tensorflow as tf w1=tf.Variable(tf.constant(2.0))w2=tf.Variable(tf.constant(3.0))with tf.Session() as sess: sess.run(tf.global_variables_initi原创 2017-11-24 16:59:24 · 1904 阅读 · 0 评论