日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习(一)——熟悉tensorflow2.0

發(fā)布時間:2025/3/21 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习(一)——熟悉tensorflow2.0 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

張量的生成

import tensorflow as tf import numpy as np ###創(chuàng)建一個張量, 指定類型,判斷是幾維張量,直接數(shù)[的個數(shù) # a = tf.constant([1, 5], dtype= tf.int64) # print(a) # print(a.dtype) # print(a.shape)###將numpy數(shù)據(jù)轉(zhuǎn)換為tensor # a = np.arange(0, 5) # b = tf.convert_to_tensor(a, dtype=tf.int64) # print(a) # print(b)#創(chuàng)建全為0的張量 # a = tf.zeros([2, 3])#指定維度 # #創(chuàng)建全為1的張量 # b = tf.ones(4)#只有一個數(shù)則表示1維 # #創(chuàng)建全為指定值的張量 # c = tf.fill([2, 3], 66)##指定維度與值 # print(a) # print(b) # print(c)###生成正態(tài)分布的隨機(jī)數(shù),默認(rèn)均值為0, 標(biāo)準(zhǔn)差為1 # d = tf.random.normal([2, 3], mean = 0.5, stddev = 1)##指定維度,均值,標(biāo)準(zhǔn)差 # ###生成截斷式正態(tài)分布的隨機(jī)數(shù) # e = tf.random.truncated_normal([2, 3], mean = 0.5, stddev = 1) # ##該函數(shù)保證生成隨機(jī)數(shù)在均值正負(fù)2倍標(biāo)準(zhǔn)差之間,更集中 # print(d) # print(e)###生成均勻分布隨機(jī)數(shù) f = tf.random.uniform([2,2], minval = 0, maxval = 1)#指定維度,最小值,最大值 print(f)

常用函數(shù)1.

import tensorflow as tf import numpy as np # # a = tf.constant([1.0,2.0,3.0], dtype=tf.float16) # print(a) # ##強(qiáng)制tensor轉(zhuǎn)換數(shù)據(jù)類型 # b = tf.cast(a, tf.int64) # print(b) # #計算該張量維度上的最小值 # print(tf.reduce_min(b)) # #同上計算最大值 # print(tf.reduce_max(b))# a = tf.ones([3,2]) # b = tf.fill([2,3], 4.) # print(tf.matmul(b, a))#矩陣乘法# x = tf.constant([[1,2,3], # [4,2,3]]) # print(x) # ##求平均值 # print(tf.reduce_mean(x)) # ## # print(tf.reduce_mean(x, axis=1))#指定維度求平均值,1表示按行求 # # ###tf.Variable 將變量標(biāo)記為可訓(xùn)練,被標(biāo)記的函數(shù)會在反向傳播中記錄梯度信息。神經(jīng)網(wǎng)絡(luò) # #訓(xùn)練中,常用該函數(shù)標(biāo)記待訓(xùn)練參數(shù) # w = tf.Variable(tf.random.normal([2,2], mean=0, stddev=1))# a = tf.ones([1,3]) # b = tf.fill([1,3], 3.) # print(a) # print(b) # print(tf.add(a,b))#加法 # print(tf.subtract(a,b))#減法 # print(tf.multiply(a,b))#乘法 # print(tf.divide(b,a))#除法 tf.matmul是矩陣乘法# a = tf.fill([1,2], 3.) # print(a) # print(tf.pow(a, 3))#計算3次方 # print(tf.square(a))#計算平方 # print(tf.sqrt(a))#開方###data.Dataset.from_tensor_slices的作用是把特征和標(biāo)簽配對,對numpy格式也適用 # features = tf.constant([12,23,15,16]) # lables = tf.constant([0,1,1,0]) # dataset = tf.data.Dataset.from_tensor_slices((features, lables)) # print(dataset) # for item in dataset: # print(item)###tf.GradientTape()能夠?qū)?loss = tf.pow(w, 2)的參數(shù)求導(dǎo) # with tf.GradientTape() as tape: # w = tf.Variable(tf.constant(3.0))#tf.Variabble將w標(biāo)記為可訓(xùn)練 # loss = tf.pow(w, 2) # grad = tape.gradient(loss, w) # print(grad)###enumerate枚舉出每個元素并配上索引號 # seq = ['one', 'two', 'three'] # for i, element in enumerate(seq): # print(i, element)###tf.one_hot將數(shù)據(jù)轉(zhuǎn)換為獨熱碼 # classes = 3 # lables = tf.constant([1, 0, 2]) # output = tf.one_hot(lables, depth=classes)#參數(shù)分別是帶轉(zhuǎn)換數(shù)據(jù)與幾分類 # print(output)###tf.nn.softmax函數(shù)能夠使得張量里的數(shù)據(jù)符合概率分布,方便后續(xù)操作 # y = tf.constant([1.22, 3.04, -0.77])##假設(shè)只是標(biāo)簽所得的分?jǐn)?shù),不符合正態(tài)分布,用不了 # y_pro = tf.nn.softmax(y) # print(y_pro)###assign_sub實現(xiàn)自更新參數(shù) # w = tf.Variable(100)##必須先標(biāo)記為可更新才行 # w.assign_sub(1)#自減1 # print(w)###np.argmax 根據(jù)axis返回 縱向與橫向的最大值參數(shù)索引 # test = np.array([[1,2,3],[4,5,6],[7,8,9]]) # print(test) # print(np.argmax(test, axis=0)) # print(np.argmax(test, axis=1))

常用函數(shù)2.

import tensorflow as tf import numpy as np # a = tf.constant([1,3,2,2,5]) # b = tf.constant([0,4,1,1,6]) # c = tf.where(tf.greater(a,b), a, b)#tf.where 若a > b則返回a, 否則返回b # print("c:", c)# rdm = np.random.RandomState(seed=1)#seed等于常數(shù)是使得每次產(chǎn)生的隨機(jī)數(shù)相同 # a = rdm.rand()##不給參數(shù),默認(rèn)生成一個0到1之間的隨機(jī)數(shù) # b = rdm.rand(3,4)##生成一個二維的 # print(a) # print(b)# a = np.array([1,2,3]) # b = np.array([4,5,6]) # c = np.vstack((a,b))#縱向疊加 # d = np.hstack((a,b))#橫向疊加 # print(c) # print(d)x,y = np.mgrid[1:3:1, 2:4:0.5]#1是起始, 到3不包含3,步長為1 后面的一樣,返回一個二維的,列要保持一致 ###.ravel()將其拉直為一維數(shù)組 c_將兩個數(shù)組配成對輸出 grid = np.c_[x.ravel(), y.ravel()] print("x:", x) print("y:", y) print("grid:\n", grid)

總結(jié)

以上是生活随笔為你收集整理的机器学习(一)——熟悉tensorflow2.0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。