tensorflow基础操作
丰。。
某top数据科学专业博士研究生,发表多篇论文,CCFA类2篇,sci2区一篇,目前担任sci2区文章审稿人,均为深度学习领域,第一作者,五次国际级获奖经历,国家级大创四项,多次省级校级获奖经历,负责多项科研项目。希望大佬们多多提携,小弟定投桃报李。
展开
-
tensorflow2.0基本操作keras自定义层的使用范例
import tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsfrom tensorflow import keras#keras.Sequential用于存放多层结合的网络#keras.layers.Layers用于放置各层#keras.Modeldef preprocess(x, y): """ x原创 2021-05-09 18:05:54 · 158 阅读 · 0 评论 -
tensorflow2.0keras的运用-compile与fit
import tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metrics#compile,指定装载功能,指定loss,优化器,评估指标的选择#fit用于完成一系列标准的处理的流程#没有使用keras前神经网络的标准训练流程#创造一个梯度的环境,得到一个神经网络的输出#之后把输出的y_label转化为独热编码#设计一个loss,自己计算出来的(原创 2021-05-09 16:59:30 · 308 阅读 · 0 评论 -
tensorflow2.0keras的基本操作metrics.Accuracy() 和 metrics.Mean()的应用举例
import tensorflow as tffrom tensorflow.keras import datasets, layers, optimizers, Sequential, metrics#metrics.Accuracy() 和 metrics.Mean()的应用举例def preprocess(x, y): x = tf.cast(x, dtype=tf.float32) / 255. y = tf.cast(y, dtype=tf.int32)原创 2021-05-09 16:42:23 · 594 阅读 · 0 评论 -
tensorflow2.0基础操作-手写数字识别实战
import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import datasets, layers, optimizers, Sequential, metricsimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'def preprocess(x, y): #数值归一化,转换数据类型 x = tf.cast(x, dtype=tf.floa原创 2021-05-09 15:30:50 · 189 阅读 · 0 评论 -
tensorflow2.0基本操作优化函数构建(梯度求解)/梯度下降
import numpy as npfrom mpl_toolkits.mplot3d import Axes3Dfrom matplotlib import pyplot as pltimport tensorflow as tfdef himmelblau(x): return (x[0] ** 2 + x[1] - 11) ** 2 + (x[0] + x[1] ** 2 - 7) ** 2#数据的范围x = np.arange(-6, 6, 0.1)y原创 2021-05-09 10:42:55 · 174 阅读 · 0 评论 -
tensorflow2.0基本操作-链式法则的实现
出现原因,加入了激活函数后,神经网络的公式变得复杂,不好展开,难以求导,固有了链式法则import tensorflow as tf x = tf.constant(1.)w1 = tf.constant(2.)b1 = tf.constant(1.)w2 = tf.constant(2.)b2 = tf.constant(1.)with tf.GradientTape(persistent=True) as tape: tape.watch([w1, b1, w2, b2])原创 2021-05-08 08:43:26 · 104 阅读 · 0 评论 -
tensorflow2.0基本操作多输出感知器
import tensorflow as tf x=tf.random.normal([1,3])w=tf.ones([3,2])b=tf.ones([2])y = tf.constant([0, 1])with tf.GradientTape() as tape: tape.watch([w, b]) logits = tf.sigmoid(x@w+b) loss = tf.reduce_mean(tf.losses.MSE(y, logits))grads =原创 2021-05-08 08:22:26 · 89 阅读 · 0 评论 -
tensorfolw2.0基本操作单层感知器的实现
import tensorflow as tf x=tf.random.normal([1,3])w=tf.ones([3,1])b=tf.ones([1])y = tf.constant([1])with tf.GradientTape() as tape: tape.watch([w, b]) logits = tf.sigmoid(x@w+b) loss = tf.reduce_mean(tf.losses.MSE(y, logits))grads = tap原创 2021-05-08 08:08:31 · 79 阅读 · 0 评论 -
tensorflow2.0基本操作损失函数及其梯度
#mse就是二阶损失函数import tensorflow as tf #MSE的梯度x = tf.random.normal([2,4])w = tf.random.normal([4,3])b = tf.zeros([3])y = tf.constant([2,0])with tf.GradientTape() as tape: tape.watch([w,b]) prob = tf.nn.softmax(x@w+b,axis=1) loss = tf.reduce_mean(原创 2021-05-07 11:25:19 · 220 阅读 · 0 评论 -
tensorlflow2.0基本操作,基本激活函数的实现
import tensorflow as tf#激活的含义在于,让该函数大于0#sigmoid的使用,该函数光滑可导,范围在0~1a = tf.linspace(-10.,10,10)with tf.GradientTape() as tape: tape.watch(a) y = tf.sigmoid(a)grads = tape.gradient(y,[a])#print(y,a,grads)#Tanh,这个在循环神经网络(RNN)中用的比较多,f(x)=2sig原创 2021-05-07 10:32:02 · 98 阅读 · 0 评论 -
tensorflow2.0基本操作,二阶求导
import tensorflow as tfw = tf.Variable(1.0)b = tf.Variable(2.0)x = tf.Variable(3.0)with tf.GradientTape() as t1: with tf.GradientTape() as t2: y = x * w + b dy_dw, dy_db = t2.gradient(y, [w, b])d2y_dw2 = t1.gradient(dy_dw, w)print(dy_dw)p原创 2021-05-06 21:45:12 · 476 阅读 · 0 评论 -
tensorflow2.0基本操作,全连接层
import tensorflow as tf from tensorflow import kerasx = tf.random.normal([2, 3])#要喂进去的数值#两个列子,每个例子的维度是3model = keras.Sequential([ #全连接层 keras.layers.Dense(2, activation='relu'),#dense为输入的维度 keras.layers.Dense(2, activation='relu'), kera原创 2021-05-06 09:02:15 · 223 阅读 · 0 评论 -
tensorflow2.0基本操作-前向传播实战
import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import datasetsimport osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'# x: [60k, 28, 28], [10, 28, 28]# y: [60k], [10k](x, y), (x_test, y_test) = datasets.mnist.load_data()原创 2021-05-05 21:47:15 · 179 阅读 · 0 评论 -
tensorflow基本操作-数据集的加载与应用
import tensorflow as tffrom tensorflow import keras#这样操作下来最后的结果果就是一个numpy的数据格式(x,y),(x_test,y_test)=keras.dataset.minst.load_data()x.shapey.shapex.min(),y.min()x_test.shape,y_test.shapey_onehot=tf.one_hot(y,depth=10)y_onehot[:2]#加载cifar10(原创 2021-05-04 21:18:22 · 189 阅读 · 0 评论 -
tensorflow2.0基本操作九数据的填充与复制
#pda#tile#broadcast_toa=tf.shape(tf.range(9),[3,3])tf.pad(a,[[0,0],[0,0]])#行,列tf.pad(a,[[1,0],[0,0]])#在第一行上面加一层以0填充的数据tf.pad(a,[[1,1],[0,0]])#在第一行与最后一行上面加一层以0填充的数据tf.pad(a,[[1,1],[1,0]])#在第一行与最后一行上面加一层以0填充的数据,在左边加一列以0填充的数据tf.pad(a,[[1,1],[1,1]])#在原创 2021-05-03 10:50:34 · 150 阅读 · 0 评论 -
tensorflow2.0基本操作八数据排序
import tensorflow as tf#sort/argsort#对序列进行排序.argsort得到的是对应的值在的位置#topk#top5-acc#用shuffle打乱顺序a=tf.random.shuffle(tf.range(5))#direction='DESCENDING'进行降序排列tf.sort(a,direction='DESCENDING')#返回对应数值的位置tf.argsort(a,direction='DESCENDING')idx = tf.ar原创 2021-05-02 17:52:44 · 273 阅读 · 0 评论 -
tensorflow2.0基本操作七
import tensorflow as tf#tf.norm#tf.reduce_min/max#tf.equal#tf.unique#2范数a = tf.ones([2,2])tf.norm(a)tf.sqrt(tf.reduce_sum(tf.square(a)))a =tf.ones([4,28,28,3])tf.norm(a)tf.sqrt(tf.reduce_sum(tf.square(a)))#1范数b = tf.ones([2,2])tf.norm(原创 2021-05-02 16:21:23 · 75 阅读 · 0 评论 -
tensorflow2.0基本操作六数据的合并与切割
import tensorflow as tf#tf.concat#拼接#tf.stack#堆叠#分割#tf.split#tf.unstack#数据格式说明#[class1-4,students,scores]#[class5-6,students,scores]a = tf.ones([4,35,8])b = tf.ones([2,35,8])#合并操作#concat方法中,只要要拼接的维度不用相等,其他必须相等#选择第0列进行合并c = tf.concat(原创 2021-05-01 22:12:21 · 135 阅读 · 0 评论 -
tensorflow2.0基本操作五broadcasting
#broadcasting----张量维度扩张的手段,是指对某一个维度重复N多次,它没有复制数据但是呈现出来其数据已经被扩张#方法实现——tf.broadcast_to,原理:在旧维度上与要扩展的维度数不一致的地方填上1,然后将其扩展成对应的维度(比如[3,3]→[1,1,3,3]→[2,2,3,3]才能与[2,2,3,2]进行运算)#broadcasting操作的好处#1,for real demanding#对每个维度的同时调整#2,memory consumption#内存空间的节约原创 2021-04-29 21:29:24 · 114 阅读 · 0 评论 -
tensorflow2.0基本操作四维度变换
import osimport tensorflow as tf#[A,B,C,D]A轴一般被理解为batch,B轴被理解为row/weight,C被理解为width/column,D被理解为channel(颜色通道)#[b,h,w,c]四位的数据一般是这个含义#视图#[b,28,28]a = tf.random.normal([4,28,28,3])#print(a.shape,a.ndim)b = tf.reshape(a,[4,784,3]).shape#利用矩阵的运算原原创 2021-04-29 08:34:04 · 247 阅读 · 0 评论 -
tensorflow2.0基本操作三,tensor的索引与切片
```import osimport tensorflow as tf#basic indexinga = tf.ones([1,5,5,3])print(a)print('------------------------------------')print(a[0][0])#选择第一个print(a[0][0][0])#选择第一个的第0行print(a[0][0][0][1])#选择第一个的第0行的第二个元素#numpy-style indexin#推荐使用这种类似于n.原创 2021-04-26 10:19:00 · 151 阅读 · 0 评论 -
tensoflow2.0基本操作二,数据结构
import tensorflow as tfimport osimport numpy as npos.environ['TF_CPP_MIN_LOG_LEVEL']='2'#创建一个2*3的全为1的矩阵a = tf.convert_to_tensor(np.ones([2,3]))#创建一个2*3的全为0的矩阵b = tf.convert_to_tensor(np.zeros([2,3]))#直接喂一个列表进去c = tf.convert_to_tensor([2.原创 2021-04-25 14:20:44 · 107 阅读 · 0 评论 -
tensorflow2.0的基础操作一,数据类型
import tensorflow as tfimport osimport numpy as npos.environ['TF_CPP_MIN_LOG_LEVEL']='2'a = tf.constant(1)#创建一个整形的数据,constan,常量,会生成一个整数型的tensor,intb = tf.constant(1.)#创建一个整形的数据,constan,常量,会生成一个浮点型的tensor,float#c = tf.constant(1.,dtype = tf.in...原创 2021-04-24 14:00:04 · 97 阅读 · 0 评论