成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關(guān)于TensorFlow簡(jiǎn)單例子

開發(fā) 人工智能
在本文中,我們將看一些 TensorFlow 的例子,并從中感受到在定義張量和使用張量做數(shù)學(xué)計(jì)算方面有多么容易,我還會(huì)舉些別的機(jī)器學(xué)習(xí)相關(guān)的例子。

[[220444]]

在本文中,我們將看一些 TensorFlow 的例子,并從中感受到在定義張量tensor和使用張量做數(shù)學(xué)計(jì)算方面有多么容易,我還會(huì)舉些別的機(jī)器學(xué)習(xí)相關(guān)的例子。

TensorFlow 是什么?

TensorFlow 是 Google 為了解決復(fù)雜的數(shù)學(xué)計(jì)算耗時(shí)過久的問題而開發(fā)的一個(gè)庫。

事實(shí)上,TensorFlow 能干許多事。比如:

  • 求解復(fù)雜數(shù)學(xué)表達(dá)式
  • 機(jī)器學(xué)習(xí)技術(shù)。你往其中輸入一組數(shù)據(jù)樣本用以訓(xùn)練,接著給出另一組數(shù)據(jù)樣本基于訓(xùn)練的數(shù)據(jù)而預(yù)測(cè)結(jié)果。這就是人工智能了!
  • 支持 GPU 。你可以使用 GPU(圖像處理單元)替代 CPU 以更快的運(yùn)算。TensorFlow 有兩個(gè)版本: CPU 版本和 GPU 版本。

開始寫例子前,需要了解一些基本知識(shí)。

什么是張量?

張量tensor是 TensorFlow 使用的主要的數(shù)據(jù)塊,它類似于變量,TensorFlow 使用它來處理數(shù)據(jù)。張量擁有維度和類型的屬性。

維度指張量的行和列數(shù),讀到后面你就知道了,我們可以定義一維張量、二維張量和三維張量。

類型指張量元素的數(shù)據(jù)類型。

定義一維張量

可以這樣來定義一個(gè)張量:創(chuàng)建一個(gè) NumPy 數(shù)組(LCTT 譯注:NumPy 系統(tǒng)是 Python 的一種開源數(shù)字?jǐn)U展,包含一個(gè)強(qiáng)大的 N 維數(shù)組對(duì)象 Array,用來存儲(chǔ)和處理大型矩陣 )或者一個(gè) Python 列表 ,然后使用 tf_convert_to_tensor 函數(shù)將其轉(zhuǎn)化成張量。

可以像下面這樣,使用 NumPy 創(chuàng)建一個(gè)數(shù)組:

  1. import numpy as np arr = np.array([1, 5.5, 3, 15, 20])
  2. arr = np.array([1, 5.5, 3, 15, 20])

運(yùn)行結(jié)果顯示了這個(gè)數(shù)組的維度和形狀。

  1. import numpy as np
  2. arr = np.array([1, 5.5, 3, 15, 20])
  3. print(arr)
  4. print(arr.ndim)
  5. print(arr.shape)
  6. print(arr.dtype)

它和 Python 列表很像,但是在這里,元素之間沒有逗號(hào)。

現(xiàn)在使用 tf_convert_to_tensor 函數(shù)把這個(gè)數(shù)組轉(zhuǎn)化為張量。

  1. import numpy as np
  2. import tensorflow as tf
  3. arr = np.array([1, 5.5, 3, 15, 20])
  4. tensor = tf.convert_to_tensor(arr,tf.float64)
  5. print(tensor)

這次的運(yùn)行結(jié)果顯示了張量具體的含義,但是不會(huì)展示出張量元素。

要想看到張量元素,需要像下面這樣,運(yùn)行一個(gè)會(huì)話:

  1. import numpy as np
  2. import tensorflow as tf
  3. arr = np.array([1, 5.5, 3, 15, 20])
  4. tensor = tf.convert_to_tensor(arr,tf.float64)
  5. sess = tf.Session()
  6. print(sess.run(tensor))
  7. print(sess.run(tensor[1]))

定義二維張量

定義二維張量,其方法和定義一維張量是一樣的,但要這樣來定義數(shù)組:

  1. arr = np.array([(1, 5.5, 3, 15, 20),(10, 20, 30, 40, 50), (60, 70, 80, 90, 100)])

接著轉(zhuǎn)化為張量:

  1. import numpy as np
  2. import tensorflow as tf
  3. arr = np.array([(1, 5.5, 3, 15, 20),(10, 20, 30, 40, 50), (60, 70, 80, 90, 100)])
  4. tensor = tf.convert_to_tensor(arr)
  5. sess = tf.Session()
  6. print(sess.run(tensor))

現(xiàn)在你應(yīng)該知道怎么定義張量了,那么,怎么在張量之間跑數(shù)學(xué)運(yùn)算呢?

在張量上進(jìn)行數(shù)學(xué)運(yùn)算

假設(shè)我們有以下兩個(gè)數(shù)組:

  1. arr1 = np.array([(1,2,3),(4,5,6)])
  2. arr2 = np.array([(7,8,9),(10,11,12)])

利用 TenserFlow ,你能做許多數(shù)學(xué)運(yùn)算。現(xiàn)在我們需要對(duì)這兩個(gè)數(shù)組求和。

使用加法函數(shù)來求和:

  1. import numpy as np
  2. import tensorflow as tf
  3. arr1 = np.array([(1,2,3),(4,5,6)])
  4. arr2 = np.array([(7,8,9),(10,11,12)])
  5. arr3 = tf.add(arr1,arr2)
  6. sess = tf.Session()
  7. tensor = sess.run(arr3)
  8. print(tensor)

也可以把數(shù)組相乘:

  1. import numpy as np
  2. import tensorflow as tf
  3. arr1 = np.array([(1,2,3),(4,5,6)])
  4. arr2 = np.array([(7,8,9),(10,11,12)])
  5. arr3 = tf.multiply(arr1,arr2)
  6. sess = tf.Session()
  7. tensor = sess.run(arr3)
  8. print(tensor)

現(xiàn)在你知道了吧。

 

三維張量

我們已經(jīng)知道了怎么使用一維張量和二維張量,現(xiàn)在,來看一下三維張量吧,不過這次我們不用數(shù)字了,而是用一張 RGB 圖片。在這張圖片上,每一塊像素都由 x、y、z 組合表示。

這些組合形成了圖片的寬度、高度以及顏色深度。

首先使用 matplotlib 庫導(dǎo)入一張圖片。如果你的系統(tǒng)中沒有 matplotlib ,可以 使用 pip來安裝它。

將圖片放在 Python 文件的同一目錄下,接著使用 matplotlib 導(dǎo)入圖片:

  1. import matplotlib.image as img
  2. myfile = "likegeeks.png"
  3. myimage = img.imread(myfile)
  4. print(myimage.ndim)
  5. print(myimage.shape)

從運(yùn)行結(jié)果中,你應(yīng)該能看到,這張三維圖片的寬為 150 、高為 150 、顏色深度為 3 。

你還可以查看這張圖片:

  1. import matplotlib.image as img
  2. import matplotlib.pyplot as plot
  3. myfile = "likegeeks.png"
  4. myimage = img.imread(myfile)
  5. plot.imshow(myimage)
  6. plot.show()

真酷!

那怎么使用 TensorFlow 處理圖片呢?超級(jí)容易。

 

使用 TensorFlow 生成或裁剪圖片

首先,向一個(gè)占位符賦值:

  1. myimage = tf.placeholder("int32",[None,None,3])

使用裁剪操作來裁剪圖像:

  1. cropped = tf.slice(myimage,[10,0,0],[16,-1,-1])

***,運(yùn)行這個(gè)會(huì)話:

  1. result = sess.run(cropped, feed\_dict={slice: myimage})

然后,你就能看到使用 matplotlib 處理過的圖像了。

這是整段代碼:

  1. import tensorflow as tf
  2. import matplotlib.image as img
  3. import matplotlib.pyplot as plot
  4. myfile = "likegeeks.png"
  5. myimage = img.imread(myfile)
  6. slice = tf.placeholder("int32",[None,None,3])
  7. cropped = tf.slice(myimage,[10,0,0],[16,-1,-1])
  8. sess = tf.Session()
  9. result = sess.run(cropped, feed_dict={slice: myimage})
  10. plot.imshow(result)
  11. plot.show()

是不是很神奇?

 

使用 TensorFlow 改變圖像

在本例中,我們會(huì)使用 TensorFlow 做一下簡(jiǎn)單的轉(zhuǎn)換。

首先,指定待處理的圖像,并初始化 TensorFlow 變量值:

  1. myfile = "likegeeks.png"
  2. myimage = img.imread(myfile)
  3. image = tf.Variable(myimage,name='image')
  4. vars = tf.global_variables_initializer()

然后調(diào)用 transpose 函數(shù)轉(zhuǎn)換,這個(gè)函數(shù)用來翻轉(zhuǎn)輸入網(wǎng)格的 0 軸和 1 軸。

  1. sess = tf.Session()
  2. flipped = tf.transpose(image, perm=[1,0,2])
  3. sess.run(vars)
  4. result=sess.run(flipped)

接著你就能看到使用 matplotlib 處理過的圖像了。

  1. import tensorflow as tf
  2. import matplotlib.image as img
  3. import matplotlib.pyplot as plot
  4. myfile = "likegeeks.png"
  5. myimage = img.imread(myfile)
  6. image = tf.Variable(myimage,name='image')
  7. vars = tf.global_variables_initializer()
  8. sess = tf.Session()
  9. flipped = tf.transpose(image, perm=[1,0,2])
  10. sess.run(vars)
  11. result=sess.run(flipped)
  12. plot.imshow(result)
  13. plot.show()

以上例子都向你表明了使用 TensorFlow 有多么容易。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2023-03-23 21:08:59

head命令

2023-03-24 10:07:46

tail命令

2011-03-28 10:28:46

sql存儲(chǔ)過程

2009-09-11 09:10:30

C#編寫游戲

2009-07-14 16:02:42

JDBC例子

2009-10-26 17:53:50

VB.NET新窗體

2010-06-11 11:20:18

Linux性能測(cè)試工具

2011-08-31 10:26:38

MTK驅(qū)動(dòng)開發(fā)

2020-03-26 17:00:53

HashMapputJava

2010-04-19 17:21:36

Oracle寫文件

2018-08-23 08:21:54

TensorFlow機(jī)器學(xué)習(xí)人工智能

2010-05-24 17:46:46

SNMP協(xié)議

2011-08-05 10:13:45

iPhone開發(fā)工具 Cocoa Xcode

2009-11-10 10:28:20

VB.NET誕生

2014-03-12 10:13:00

iOSSEL對(duì)象

2011-09-02 19:12:59

IOS應(yīng)用Sqlite數(shù)據(jù)庫

2018-08-03 11:07:52

dd命令備份Linux系統(tǒng)

2022-11-02 08:32:46

find 命令Linux

2010-05-20 18:04:15

2022-11-09 19:02:10

Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 午夜一区 | 国产草草视频 | 国产精品久久久久久高潮 | 亚洲风情在线观看 | 四虎永久免费在线 | 久久国产综合 | 在线观看免费福利 | 日本a级大片 | 免费网站在线 | 中文字幕av第一页 | 久久精品一 | 精品九九 | 久久精品免费观看 | 国产成人99久久亚洲综合精品 | 欧美激情99 | 国产农村妇女毛片精品久久麻豆 | 日韩av在线中文字幕 | 俺去俺来也www色官网cms | 精品久久久久久 | 毛片免费看| 国产日韩91| 99视频网| 精品久久久久久久久久久久 | 亚洲国产高清免费 | 精品久久久久一区二区国产 | 日本h片在线观看 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 免费一区二区三区在线视频 | 国产日韩欧美在线观看 | 久久成人免费视频 | 99精品视频一区二区三区 | 亚洲xxxxx| 欧美一级在线免费 | 99精品一区二区三区 | 天天曰夜夜操 | 国产免费一区二区三区网站免费 | 亚洲97| 二区中文字幕 | 蜜桃毛片 | 久久久青草婷婷精品综合日韩 |