目錄
1.基本簡介與理解
1.1 簡介
##1.2 優劣勢分析與架構解讀
1.2.1 優點
1.2.2 劣勢
2.安裝與使用
2.1 安裝
2.1.1 使用pip安裝
#2.1.2原始碼編譯安裝
2.1.3 Docker 映像安裝
2.2.2变量" >2.2.2变量
2.2.3 Session会话" >2.2.3 Session会话
作者介绍
首頁 科技週邊 人工智慧 帶你初步了解 TensorFlow 的安裝

帶你初步了解 TensorFlow 的安裝

Apr 12, 2023 pm 08:31 PM
tensorflow

1.基本簡介與理解

1.1 簡介

作為一個全面且靈活的開源機器學習平台,我們可以藉助TensorFlow 建立適用於桌面、行動、Web 和雲環境的機器學習模型,也可以簡單說TensorFlow 是一個開源的機器學習的框架,我們可以使用TensorFlow 來快速地建立神經網絡,同時快速地進行網路的訓練、評估與保存。

我們在安裝TensorFlow之後,每次使用可以直接進行導入方便快捷

import TensorFlow as tf

TensorFlow官方網站如下:

關於TensorFlow |TensorFlow中文官網(google.cn)

帶你初步了解 TensorFlow 的安裝

##1.2 優劣勢分析與架構解讀

1.2.1 優點

● 彈性強:只要運算能表示為計算流程圖,都可以使用TF。

● 真正的可移植性:支援桌上型電腦、伺服器(CPU、GPU皆可)、嵌入式裝置。

● 多語言支援:基於Python,也提供C 使用介面、Ipython互動介面。

● 視覺化工具:TensorFlow提供一個強大的視覺化工具,TensorBoard。

● 豐富的封裝庫支援:TFlearn、TF-Slim、Keras等。

1.2.2 劣勢

#● 不支援Windows

##除了TensorFlow所擁有的所有優勢外,它對Windows使用者的功能非常有限。對於Linux用戶則是非常友善的.

帶你初步了解 TensorFlow 的安裝● 支援GPU

TensorFlow只有NVIDIA對GPU的支援和Python程式語言對GPU程式設計的支援。 1.2.3 TensorFlow架構解讀

#第一層:設備通訊層,由設備層和網路層組成,負責網路通訊和設備管理。設備管理可實現TF設備異質的特性,設備層支援CPU、GPU、Mobile等不同設備的通訊實作。網路通訊依賴

#gRPC

#通訊協定實現不同裝置間的資料傳輸和更新。

第二層:Kernel 實現層,以Tensor為處理對象,依賴網路通訊和設備記憶體分配,實現了各種Tensor操作或計算,主要是機器學習的內核實現。

第三層:圖計算層,由分散式主控和資料流執行器組成,包含本地計算流程圖和分散式計算流程圖的實作。分散式主控根據負載能力將不同的工作量分配在不同的設備上,資料流執行器基於最好的實驗方式來執行資料流程圖.

###第四層: API介面層,C API是TF功能模組的介面封裝,它是用C語言實作的。選擇C語言是因為它是一種底層語言,簡單快速、可靠,並且可以在任何作業系統上運行。 ############第五層: Client 層,Python,C 等程式語言在應用層透過API介面層呼叫TF核心功能實現相關實驗與應用。 ############而TensorFlow的最後一層包含用python和C 實現的訓練和推理函式庫。 ######

想全面了解TensorFlow入門實作的基礎理論和設計思路,​​可以到中國大學MOOC 學習《 TensorFlow 入門實操課程》 ,快速上手TensorFlow基本應用與實作。

2.安裝與使用

2.1 安裝

此處以Ubuntu 16.04 或更高版本(64 位元)為例進行解說

2.1.1 使用pip安裝

PIP 是一種套件管理系統,用於安裝和管理用Python 寫的軟體套件。

首先我們需要安裝python環境, 需要使用Python 3.6-3.9 和pip 19.0 及更高版本.如果不確定我們是否已經安裝,可以通過版本檢查的方式進行查看,確保後續可以繼續進行.

python3 –version
pip3 --version

如果沒有安裝,請參考如下程式碼:

sudo apt update
sudo apt install python3-dev python3-pip python3-venv

重點: 其實,此處針對python的安裝我更建議安裝anaconda,這樣可以省很多的事情,anaconda包含了conda、Python等190多個科學包及其依賴項. 能減少各種庫問題,版本問題.

其次我們需要建立環境,這裡建議是安裝虛擬環境

最後我們啟動虛擬環境,然後在虛擬環境下進行TensorFlow pip 軟體包的安裝

pip install --upgrade TensorFlow

安裝結束以後可以進行驗證,確保安裝成功

python -c "import TensorFlow

#2.1.2原始碼編譯安裝

git clone --recurse-submodules
https://github.com/TensorFlow/TensorFlow

安裝

#參考 https:/ /m.sbmmt.com/link/a03caec56cd82478bf197475b48c05f9

##設定./configure以你的實際情況如實回答一系列問題。回答之後 bazel 會對環境進行配置,此時需要機器可以存取外網,以便取得一些編譯依賴套件。一些包包可能需要翻牆。

編譯

bazel build -c opt --config=cuda
//TensorFlow/tools/pip_package:build_pip_package

2.1.3 Docker 映像安裝

Docker 是一個開源的應用程式容器引擎,讓開發者可以打包他們的應用程式以及依賴套件到一個可移植的容器中,然後發佈到任何流行的Linux 機器上,也可以實現虛擬化。

當你透過 Docker 安裝和執行 TensorFlow 時,它與你機器上先前已安裝的軟體包完全隔離。

官方映像

官方提供了4 個Docker 映像可供使用:

#僅CPU 版,無開發環境:gcr.io/TensorFlow/TensorFlow

僅CPU 版,有開發環境:gcr.io/TensorFlow/TensorFlow:latest- devel

支援GPU,無開發環境:gcr.io/TensorFlow/TensorFlow:latest-gpu

支援GPU,有開發環境: gcr.io/TensorFlow/TensorFlow:latest-devel-gpu

建立Docker 使用者群組

允許一般用戶無需sudo 即可啟動容器。

usermod -a -G docker 用户名

啟動Docker 容器

#我使用的是支援GPU的版本所以選擇第四個進行安裝.大家看自己的電腦支援什麼版本然後對應指令下載即可.

docker run -it 
gcr.io/TensorFlow/TensorFlow
2.2使用

2.2.1佔位符##語法: tf.compat.v1.placeholder(dtype,shape=None, name=None)

範例1:

#
w =
tf.constant([1, 1, 2, 2, 3, 3], shape=[2, 3])
h =
tf.constant([7, 7, 9, 9, 11, 11], shape=[3, 2])
#下面语法表示的是两个矩阵相乘
l
= tf.matmul(w, h)

with
tf.Session() as
print(sess.run([a,b,c]))

範例2:

首先import进行导入
import TensorFlow as tf
w = tf.placeholder(dtype=tf.float32)
h = tf.placeholder(dtype=tf.float32)
sum = tf.add(w,h)
## 填充数据时,使用run()方法的feed_dict参数指定张量对应的值即可,数据格式和字典类似。

with tf.Session() as sess:
# 填充占位符,填充形式类字典
res
= sess.run(sum, feed_dict={w: [5], h: [6]})
print(res)
##########具體的參數說明:############ ###● ###dtype:張量中元素的資料類型,將被輸入。 ###############● ###shape : 預設為None:將被輸入的張量的形狀,它是一個可選參數。如果沒有指定形狀,人們可以輸入任何形狀的張量。 ##########

● name: 默认为None:操作的名称,可选参数。

2.2.2变量

Variable()构造函数希望变量有一个初始值,它可以是任何种类或形状的Tensor。变量的类型和形式由其初始值定义。形状和变量一旦被创建就会被固定下来。

在众多的参数中,需要注意的是validate_shape: 默认为True。如果是False,允许变量以未知的形状值初始化。如果是True,初始值的形状必须是已知的,这是默认的。

2.2.2.1创建变量

最常见的创建变量方式是使用Variable()构造函数。

import TensorFlow as tf
v = tf.Variable([1,2,3,4,5,6]) #创建变量v,为一个array
print(v) 
#查看v的shape,不是v的值。
## 结果是: <tf.Variable 'Variable:0' shape=(6,), numpy=array([1,2,3,4,5,6],dtype=int32)>
with tf.Session() as sess:
 
sess.run(v.initializer) ##运行变量的initializer。调用op之前,所有变量都应被显式地初始化过。
sess.run(v) ##查看v的值,结果是:array([1,2,3,4,5,6])

注意: 我们在进行初始化的时候也可以按如下书写

init = tf.global_variables_initializer()#全局变量初始化
with tf.Session() as sess:
sess.run(init)

2.2.2.2分配或修改变量中的元素

我们使用assign()方法来修改这个变量。

示例一:assign用来更新值

w = tf.Variable([3, 4,5,6])
w [1].assign(2)
w

输出结果如下:

<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([3, 2,5,6], dtype=int32)>
## 我们在此处使用assign将数组中的索引为1的值由4更新为2

示例二 : assign_add()用来添加变量值

# create variable
w = tf.Variable([3, 4,5,6])
# using assign_add() function
w.assign_add([1, 1,1,1])
w

输出结果如下:

<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([4, 5,6,7], dtype=int32)>
## 我们在此处使用assign_add()将数组中的每一个数值加1进行输出

示例三: assign_sub()用来从变量中减去值

# create variable
w = tf.Variable([3, 4,5,6])
# using assign_add() function
w.assign_sub([1, 1,1,1])
w
<tf.Variable ‘Variable:0’ shape=(4,),
numpy=array([2, 3,4,5], dtype=int32)>
## 我们在此处使用assign_sub()将数组中的每一个数值减1进行输出

2.2.2.3改变变量的形状

tf.reshape()方法用于改变变量的形状。必须传递变量和形状。

import TensorFlow as tf
w= tf.Variable([[3, 5, 6, 7]])
tf.reshape(w, shape=(2, 2))
w

输出结果如下:

<tf.Tensor: shape=(2, 2), ,
numpy=array([[3, 5],[6, 7]], dtype=int32)>

2.2.3 Session会话

TensorFlow中只有让Graph(计算图)上的节点在Session(会话)中执行,才会得到结果。Session的开启涉及真实的运算,因此比较消耗资源。在使用结束后,务必关闭Session。

方式一进行手动关闭:

import TensorFlow as tf
w= tf.constant(8, dtype=tf.int8)
h = tf.constant(6, dtype=tf.int8)
result= w + h
sess = tf.Session()
sess.run(result)#执行运算
sess.close() #手动关闭session

方式二进行自动关闭(使用到with语句):

import TensorFlow as tf
w= tf.constant(8, dtype=tf.int8)
h = tf.constant(6, dtype=tf.int8)
result= w + h
with tf.Session() as sess: #运算结束后session自动关闭
sess.run(res)

安装好TensorFlow后,初步入门机器学习的同学可以到中国大学MOOC上学习《 TensorFlow 入门实操课程 》,快速了解如何使用TensorFlow建立和训练神经网络、用自然语言处理系统教会机器理解、分析和回应人类的言语 、构建和训练模型等基本理论。我推荐对模型部署有需求的同学可以去了解《 TensorFlow 入门课程 - 部署篇 》,高效掌握在多种生产场景下灵活部署模型的技巧。大家也可以在TensorFlow官网(//m.sbmmt.com/link/e48382353dc6c66379fb8e1ebf48c5e8)上探索更多学习资源,持续精进机器学习知识与技能!

作者介绍

张云波,活跃的IT网红讲师,拥有学员31w+,国内早期开始和发布苹果Swift、安卓Kotlin、微信小程序、区块链技术的讲师之一。主攻前端开发、iOS开发、Android开发、Flutter开发、区块链Dapp开发,有丰富的大公司和海外工作经验。

以上是帶你初步了解 TensorFlow 的安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1604
29
PHP教程
1510
276
conda怎麼安裝tensorflow conda怎麼安裝tensorflow Dec 05, 2023 am 11:26 AM

安裝步驟:1、下載和安裝Miniconda,依照作業系統選擇適合的Miniconda版本,並依照官方指南進行安裝;2、使用「conda create -n tensorflow_env python=3.7」指令建立一個新的Conda環境;3、啟動Conda環境;4、使用「conda install tensorflow」指令安裝最新版的TensorFlow;5、驗證安裝即可。

使用TensorFlow和Keras建立貓狗圖片深度學習分類器 使用TensorFlow和Keras建立貓狗圖片深度學習分類器 May 16, 2023 am 09:34 AM

在本文中,我們將使用TensorFlow和Keras建立一個影像分類器,可以區分貓和狗的影像。為了做到這一點,我們將使用TensorFlow資料集中的cats_vs_dogs資料集。該資料集由25000張打過標籤的貓狗的圖像組成,其中80%的圖像用於訓練,10%用於驗證,10%用於測試。載入資料我們從使用TensorFlowDatasets載入資料集開始。將資料集拆分為訓練集、驗證集和測試集,分別佔資料的80%、10%和10%,並定義一個函數來顯示資料集中的一些樣本影像。 importtenso

pip安裝tensorflow教程 pip安裝tensorflow教程 Dec 07, 2023 pm 03:50 PM

安裝步驟:1、確保已經安裝了Python和pip;2、開啟命令提示字元或終端機窗口,輸入「pip install tensorflow」指令安裝TensorFlow;3、若想安裝CPU版本的TensorFlow,可以使用「pip install tensorflow- cpu」指令;4、安裝完成後,即可在Python中使用TensorFlow。

pycharm如何安裝tensorflow pycharm如何安裝tensorflow Dec 20, 2023 pm 04:32 PM

安裝步驟:1、開啟PyCharm並開啟你的專案;2、轉到"File"_「Settings」;3、選擇"Project"_「Python Interpreter」;4、在右上角的設定視窗中,點擊"+ "符號新增新的庫;5、在搜尋框中輸入"tensorflow",選擇最新版本的TensorFlow;6、點擊"Install Package"按鈕,等待安裝完成即可。

TensorFlow.js 在瀏覽器上也能搞定機器學習! TensorFlow.js 在瀏覽器上也能搞定機器學習! Apr 13, 2023 pm 03:46 PM

在機器學習快速發展的今天,各種機器學習平台層出不窮,為了滿足不同業務場景的需求,可以將機器學習的模型分別部署到Android、iOS、Web 瀏覽器,讓模型在端側能夠進行推演,從而發揮模型的潛能。其中TensorFlow.js 是 TensorFlow 的 JavaScript 版本,支援 GPU 硬體加速,可以運行在 Node.js 或瀏覽器環境中。它不但支援完全基於JavaScript 從頭開始開發、訓練和部署模型,也可以用來運行現有的 Python 版 TensorFlow 模型,或基於現

TensorFlow、PyTorch和JAX:哪一款深度學習架構比較適合你? TensorFlow、PyTorch和JAX:哪一款深度學習架構比較適合你? Apr 09, 2023 pm 10:01 PM

譯者 | 朱先忠審校 | 墨色深度學習每天都在以各種形式影響著我們的生活。無論是基於用戶語音命令的Siri、Alexa、手機上的即時翻譯應用程序,還是支援智慧拖拉機、倉庫機器人和自動駕駛汽車的電腦視覺技術,每個月似乎都會迎來新的進展。幾乎所有這些深度學習應用程式的編寫都來自於這三種框架:TensorFlow、PyTorch或JAX。那麼,你到底該使用哪些深度學習框架呢?在本文中,我們將對TensorFlow、PyTorch和JAX進行進階比較。我們的目標是讓你了解發揮優勢的應用程式類型,

使用PHP和TensorFlow建立機器學習模型和神經網路應用程式。 使用PHP和TensorFlow建立機器學習模型和神經網路應用程式。 May 11, 2023 am 08:22 AM

隨著人工智慧和機器學習的日益發展,越來越多的開發者開始探索使用不同的技術來建立機器學習演算法和應用程式。而PHP作為一門通用性語言,也逐漸應用於人工智慧領域。本文將介紹如何使用PHP和TensorFlow創建機器學習模型和神經網路應用程序,幫助開發者更好的掌握這項技術。 PHP、TensorFlow簡介PHP是一門腳本語言,適用於Web開發,可用於伺服器端腳本,也

PHP和TensorFlow整合實現深度學習和人工智慧處理 PHP和TensorFlow整合實現深度學習和人工智慧處理 Jun 25, 2023 pm 07:30 PM

在當今的時代,深度學習和人工智慧已經成為了許多行業中不可或缺的一部分。而在實現這些技術的過程中,PHP的角色也越來越受到了重視。本文將介紹如何將PHP和TensorFlow整合起來,以實現深度學習和人工智慧處理。一、什麼是TensorFlowTensorFlow是Google開源的人工智慧系統,它可以幫助開發者創建並訓練深度神經網路模型

See all articles