TensorFlow2.×
TensorFlow2.×的学习
进击的Explorer
学而不思则罔 思而不学则殆
展开
-
tensorflow2的tf.tile()函数
tensorflow中的tile()函数是用来对张量(Tensor)进行扩展的,其特点是对当前张量内的数据进行一定规则的复制。最终的输出张量维度不变。语法:tf.tile( input, multiples, name=None)input - 待拓展的张量multiples - 拓展的倍数如果input是一个3维的张量,那multiples就是一个1×3的一维张量。这三个值分别代表input三维中的倍数。示例import tensorflow as t原创 2020-05-10 10:04:02 · 347 阅读 · 0 评论 -
tensorfow2对空间数据进行池化的tf.keras.layers.MaxPool2D函数
MaxPool2D的作用是对卷积层输出的空间数据进行池化,采用的池化策略是最大值池化。在使用MaxPool2D时需要配置的参数如下:tf.keras.layers.MaxPool2D( pool_size=(2, 2), strides=None, padding='valid', data_format=None, **kwargs)参数...原创 2020-04-14 11:03:11 · 3362 阅读 · 0 评论 -
tensorflow2创建卷积核Conv2D函数
使用Conv2D可以创建一个卷积核来对输入数据进行卷积计算,然后输出结果,其创建的卷积核可以处理二维数据。依次类推,Conv1D可以用于处理一维数据,Conv3D可以用于处理三维数据。在进行神经层级集成时,如果使用该层作为第一层级,则需要配置input_shape参数。在使用Conv2D时,需要配置的主要参数如下:tf.keras.layers.Conv2D( filters, ...原创 2020-04-14 10:31:54 · 2566 阅读 · 0 评论 -
tensorflow2的模型保存与加载(save_weights、save和saved_model.save)
1、save/load weights只保存网络的一个参数,不管其他的状态,这种模式适合自己对代码有个清晰的认识用法流程如下:# Save the weightsmodel.save_weights('./checkpoints/my_checkpoint') # 提供保存的路径# Restore the weightsmodel = create_model() # 重新创...原创 2020-04-10 08:42:02 · 13709 阅读 · 2 评论 -
tensorflow2中自定义层或网络
通过自定义网络可以将一些现有的网络和自己的网络串联起来,这样可以组建各种各样的网络。1、keras.Sequential它的用法见这篇博客network = Sequential([layers.Dense(256, activation='relu'), layers.Dense(128, activation='relu'), ...原创 2020-04-09 09:23:11 · 1273 阅读 · 0 评论 -
tensorflow2的compile & fit函数
1、compile配置用于训练的模型。用法:compile( optimizer='rmsprop', loss=None, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None, ...原创 2020-04-08 11:41:25 · 9356 阅读 · 2 评论 -
tensorflow2中keras.metrics的Accuracy和Mean的用法
1、tf.keras.metrics.Accuracy函数说明:计算预测与真实值的准确度。用法:tf.keras.metrics.Accuracy( name='accuracy', dtype=None)例如,如果y_true为[1、2、3、4],而y_pred为[0、2、3、4],则精度为3/4或 .75 。如果将权重指定为 [1、1、0、0] ,则精度将为1...原创 2020-04-05 11:58:22 · 12170 阅读 · 1 评论 -
TensorFlow2的误差计算
1、MSE计算公式为:MSE:(这里的N=batch∗shapeN = batch*shapeN=batch∗shape)loss=1N∑(y−out)2loss = \frac{1}{N}\sum_{} (y - out)^2loss=N1∑(y−out)2二范数:L2−norm=∑(y−out)2L_{2-norm} = \sqrt{\sum_{}(y - out)^2}L2−n...原创 2020-04-01 19:53:37 · 525 阅读 · 0 评论 -
TensorFlow2的tf.sigmoid()函数、tf.nn.softmax()函数和tf.tanh()函数
1、tf.sigmoid函数应用sigmoid函数可以将输出压缩至0~1的范围计算公式为f(x)=11+e−xf(x) = \frac{1}{1 + e^{-x}}f(x)=1+e−x1 tf.sigmoid()的函数的用法为:tf.sigmoid( x, name=None)参数说明:x :类型为float16, float32, float64...原创 2020-03-31 22:18:16 · 23545 阅读 · 0 评论 -
TensorFlow2中创建多层的tf.keras.Sequential函数的用法
线性堆叠的图层。继承自:Model用法:tf.keras.Sequential( layers=None, name=None)参数说明:layers - 要添加到model的层列表。首先创建一个模型结构:model = keras.Sequential()建立一个最终输出维度为10的分类结果的全连接神经网络。使用.add()函数进行各个层的堆叠:#...原创 2020-03-31 20:48:53 · 6188 阅读 · 0 评论 -
tensorflow2中创建单层的tf.keras.layers.Dense的用法
tf.keras.layers.Dense相当于在全连接层中添加一个层Dense实现以下操作:output = activation(dot(input,kernel)+ bias) 其中,activation是用activation参数传递的逐元素激活函数,kernel是该层创建的权重矩阵,bias是由图层创建的偏差向量(仅在use_bias为True时适用)。用法:tf.keras.la...原创 2020-03-31 19:47:12 · 13429 阅读 · 0 评论 -
tensorflow2的数据加载
对于一些小型常用的数据集,TensorFlow有相关的API可以调用——keras.datasets经典数据集:1、boston housing - 波士顿房价2、mnist/fasion mnist - 手写数字集/时髦品集3、cifar10/100 - 物象分类4、imdb - 电影评价使用 tf.dat...原创 2020-03-30 10:56:37 · 517 阅读 · 0 评论 -
tensorflow2的高阶操作
1、tf.where如果x和y都为空,则此操作返回条件的真元素的坐标。例如,有一个3*3的矩阵,[[True, False, False], [False, True, False], [False, False, True]],返回一个3*2的矩阵,其中的3代表True的个数,2代表矩阵为True的坐标,返回结果为[[0, 0], [1, 1], [2, 2]]如果x和y不为空,x、y必须...原创 2020-03-29 18:38:39 · 293 阅读 · 0 评论 -
tensorflow2中张量的限幅
1、tf.clip_by_value将张量值裁剪到指定的最小值和最大值。tf.clip_by_value(t, clip_value_min, clip_value_max):输入一个张量t,把t中的每一个元素的值都压缩在clip_value_min和clip_value_max之间。用法:tf.clip_by_value( t, clip_value_min, ...原创 2020-03-29 13:55:25 · 295 阅读 · 0 评论 -
tensorflow2的填充与复制
1、tf.pad函数功能介绍tf.pad()函数主要是对张量在各个维度上进行填充用法:pad( tensor, paddings, mode='CONSTANT', name=None)参数说明:tensor:待填充的张量paddings:指出要给tensor的哪个维度进行填充,以及填充方式,要注意的是paddings的rank必须和tensor的...原创 2020-03-29 12:01:46 · 410 阅读 · 0 评论 -
TensorFlow2.1张量排序
1、排序函数tf.sort()、排序的坐标tf.argsort()排序函数tf.sort()用法:tf.sort( values, axis=-1, direction='ASCENDING', name=None)参数说明:values:一维或更高维张量。axis:要排序的轴。默认值是-1,用于对最后一个轴进行排序。direction:排序值...原创 2020-03-27 20:48:33 · 977 阅读 · 0 评论 -
TensorFlow2.1中的数据统计
1、范数tf.norm函数计算向量、矩阵和张量的范数。范数的定义: 1、向量x=[3,−2,1]Tx = [3, -2, 1]^Tx=[3,−2,1]T的欧式范数 (Euclidean norm) 为∣∣x∣∣2=32+(−2)2+12=3.742||x||_2 = \sqrt{3^2 +(-2)^2 + 1^2} = 3.742∣∣x∣∣2=32+(−2)2+12=3.742...原创 2020-03-27 17:42:37 · 526 阅读 · 0 评论 -
tensorflow2.1中tensor的合并与分割
1、拼接操作tf.concat其约束条件:你要创建的axis是可以不同,但其他的维度是要相同的。用法:tf.concat( values, axis, name='concat')axis代表要在哪个维度拼接:axis=0代表在第0个维度拼接,axis=1代表在第1个维度拼接…示例:import tensorflow as tfa = tf.ones([4, 35...原创 2020-03-27 11:10:01 · 998 阅读 · 0 评论 -
tensorflow2.1中求平均值函数tf.reduce_mean()的用法
tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。reduce_mean( input_tensor, axis=None, keepdims=False, name=None,)参数说明:input_tensor - 输入的待降维的tensor;axis...原创 2020-03-26 09:53:04 · 2511 阅读 · 0 评论 -
TensorFlow2.1中计算平方函数的tf.square()的用法
功能:计算元素x里每一个元素的平方tf.math.square( x, name=None)参数说明:x - 一个张量或者是稀疏张量。必须是下列类型之一:half, float32, float64, int32, int64, complex64, complex128.name - 操作的名字 (可选参数).示例如下:import tensorflow a...原创 2020-03-26 09:35:08 · 6957 阅读 · 0 评论 -
tensorflow2.1中独热编码函数tf.one_hot()的用法
tf.one_hot() 函数是将input转化为one-hot类型数据输出如果我们有一个5类分类问题,我们有数据 (Xi,Yi)(X_i,Y_i)(Xi,Yi),其中类别YiY_iYi有5种取值(因为是5分类问题),所以如果YjY_jYj为第1类那么其独热编码为: [1,0,0,0,0][1,0,0,0,0][1,0,0,0,0],如果是第2类那么独热编码为:[0,1,0,0,0][0...原创 2020-03-26 08:42:01 · 1501 阅读 · 0 评论 -
tensorflow2.1下的tf.nn.relu()函数
tf.nn.relu()函数是将大于0的数保持不变,小于0的数置为0:f(x)=max(0,x)f(x) = max(0, x)f(x)=max(0,x) relu( features, name=None)参数说明:features - tensor类型,类型为float32, float64, int32, int64, uint8, int16, i...原创 2020-03-26 08:04:57 · 623 阅读 · 0 评论 -
Tensorflow2.1计算梯度的tf.GradienTape()函数
TensorFlow 2.0默认是eager模式,每行代码顺序执行。有一个上下文管理器(context manager)来连接需要计算梯度的函数和变量,方便求解同时也提升效率。tf.GradientTape( persistent=False, watch_accessed_variables=True)参数说明:persistent - 布尔值,用来指定新创建的g...原创 2020-03-25 21:37:30 · 1722 阅读 · 0 评论 -
Python的with用法
有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。其中一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。当不用with语句,代码如下:file = open("/tmp/foo.txt")data = file.read()file.close()这里有两个问题。一是可能忘记关闭文件句...原创 2020-03-25 19:59:40 · 195 阅读 · 0 评论 -
python的iter()与next()函数
list、tuple等都是可迭代对象,我们可以通过iter()函数获取这些可迭代对象的迭代器。然后我们可以对获取到的迭代器不断使⽤next()函数来获取下⼀条数据。iter()函数实际上就是调⽤了可迭代对象的 iter ⽅法。li = [11,22,33,44,55]li_iter = iter(li)next(li_iter) 11next(li_iter) 22next...原创 2020-03-25 12:14:39 · 536 阅读 · 0 评论 -
tensorFlow2.1下的tf.data.Dataset.from_tensor_slices()和batch()的用法
1、tf.data.Dataset.from_tensor_slices它的作用是切分传入Tensor的第一个维度,生成相应的dataset。将输入的张量的第一个维度看做样本的个数,沿其第一个维度将tensor切片,得到的每个切片是一个样本数据。实现了输入张量的自动切片。可以是numpy格式,也可以是tensorflow的tensor的格式,函数会自动将numpy格式转为tensorflo...原创 2020-03-25 11:57:09 · 4945 阅读 · 0 评论 -
tensorflow2.1的数据类型转换
tf.bitcast在不复制数据的情况下将tensor从一种数据类型转换为另一种类型。tf.bitcast( input, type, name=None)参数说明:input - 配置需要进行类型转换的Tensor,Tensor的类型可以为:bfloat16, half, float32, float64, int64, int32, uint8, uin...原创 2020-03-25 09:14:09 · 1918 阅读 · 0 评论 -
使用anaconda离线安装opencv
我在cmd中安装用pip3 install opencv-python 命名安装了opencv,在cmd中用以下命名: 能够正确的导入cv2库,但是,我在anaconda下的Spyder和jupyter notebook以及pycharm(想了解在Pycharm中设置Anaconda环境,见博文)中却不能正确的导入cv2库。于是我按照如下方法成功的安装了opencv库。1、首先我在...原创 2020-03-22 23:14:43 · 3560 阅读 · 0 评论 -
TensorFlow2.1下的数学运算
1、tensor的加减乘除求余取整(+-*/%//)注,这里的乘(*)是矩阵的对应元素相乘一个/是数学中除法,两个//是取整b = tf.fill([2, 2], 2.)a = tf.ones([2, 2])a + b, a - b, a* b, a/bOut[137]:(<tf.Tensor: shape=(2, 2), dtype=float32, numpy=ar...原创 2020-03-21 21:55:52 · 904 阅读 · 0 评论 -
tensorFlow2.1的Broadcasting机制
Broadcasting机制是张量维度扩张的手段,但是没有在数据层面上的复制。是一种数据优化的手段。高效且直观。其过程:给需要位置插入 1 个维度(dim)。给 dim 为 1 的扩展成所需的数量。例如:Feature maps: [4, 32, 32, 3]Bias: [3] → [1, 1, 1, 3] → [4, 32, 32, 3] 解释...原创 2020-03-21 18:34:27 · 355 阅读 · 0 评论 -
tensorflow2.1的维度变换
Reshape函数的作用是将tensor变换为参数shape的形式,其中shape为一个列表形式,特殊的一点是列表中可以存在-1-1代表的含义是不用我们自己指定这一维的大小,函数会自动计算,但列表只能存在一个-1。(如果存在多个-1,就是一个存在多解的方程)a = tf.random.normal([4, 28,28, 3])a.shape, a.ndimOut[74]: (Tenso...原创 2020-03-21 16:29:12 · 1169 阅读 · 0 评论 -
tensorflow2.1的索引与切片
常规索引直接索引import tensorflow as tfa = tf.ones([1, 5, 5, 3])a[0][0]Out[5]:<tf.Tensor: shape=(5, 3), dtype=float32, numpy=array([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.], [...原创 2020-03-21 10:45:59 · 237 阅读 · 0 评论 -
TensorFlow2.1创建Tensor
通过Numpy和list来创建Tensor首先导入库:import tensorflow as tfimport numpy as np直接通过convert_to_tensor来创建通过numpy来传入参数tf.convert_to_tensor(np.ones([2, 3]))Out[85]:<tf.Tensor: shape=(2, 3), dtype=float...原创 2020-03-20 18:05:21 · 1090 阅读 · 0 评论 -
tensorflow2.1的数据类型
TensorFlow2.0的数据类型有:int, float, doubleboolstring首先我们简单的创建数据类型:注:constant,我们TensorFlow1.0版本时,我们将它理解为一个常量,但在TensorFlow2.0时我们将它就理解一个普通的Tensorimport tensorflow as tf# 创建一个整型的Tensortf.consta...原创 2020-03-20 11:22:51 · 217 阅读 · 0 评论