女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TensorFlow是什么?如何啟動并運行TensorFlow?

lviY_AI_shequ ? 來源:未知 ? 作者:易水寒 ? 2018-07-29 11:16 ? 次閱讀

TensorFlow 是一款用于數值計算的強大的開源軟件庫,特別適用于大規模機器學習的微調。 它的基本原理很簡單:首先在 Python 中定義要執行的計算圖(例如圖 9-1),然后 TensorFlow 使用該圖并使用優化的 C++ 代碼高效運行該圖。

最重要的是,Tensorflow 可以將圖分解為多個塊并在多個 CPUGPU 上并行運行(如圖 9-2 所示)。 TensorFlow 還支持分布式計算,因此您可以在數百臺服務器上分割計算,從而在合理的時間內在龐大的訓練集上訓練龐大的神經網絡(請參閱第 12 章)。 TensorFlow 可以訓練一個擁有數百萬個參數的網絡,訓練集由數十億個具有數百萬個特征的實例組成。 這應該不會讓您吃驚,因為 TensorFlow 是 由Google 大腦團隊開發的,它支持谷歌的大量服務,例如 Google Cloud Speech,Google Photos 和 Google Search。

當 TensorFlow 于 2015 年 11 月開放源代碼時,已有許多深度學習的流行開源庫(表 9-1 列出了一些),公平地說,大部分 TensorFlow 的功能已經存在于一個庫或另一個庫中。 盡管如此,TensorFlow 的整潔設計,可擴展性,靈活性和出色的文檔(更不用說谷歌的名字)迅速將其推向了榜首。 簡而言之,TensorFlow 的設計靈活性,可擴展性和生產就緒性,現有框架可以說只有其中三種可用。 這里有一些 TensorFlow 的亮點:

它不僅在 Windows,Linux 和 MacOS 上運行,而且在移動設備上運行,包括 iOSAndroid。

它提供了一個非常簡單的 Python API,名為 TF.Learn2(tensorflow.con trib.learn),與 Scikit-Learn 兼容。正如你將會看到的,你可以用幾行代碼來訓練不同類型的神經網絡。之前是一個名為 Scikit Flow(或 Skow)的獨立項目。

它還提供了另一個簡單的稱為 TF-slim(tensorflow.contrib.slim)的 API 來簡化構建,訓練和求出神經網絡。

其他幾個高級 API 已經在 TensorFlow 之上獨立構建,如Keras或Pretty Tensor。

它的主要 Python API 提供了更多的靈活性(以更高復雜度為代價)來創建各種計算,包括任何你能想到的神經網絡結構。

它包括許多 ML 操作的高效 C ++ 實現,特別是構建神經網絡所需的 C++ 實現。還有一個 C++ API 來定義您自己的高性能操作。

它提供了幾個高級優化節點來搜索最小化損失函數的參數。由于 TensorFlow 自動處理計算您定義的函數的梯度,因此這些非常易于使用。這稱為自動分解(或autodi)。

它還附帶一個名為 TensorBoard 的強大可視化工具,可讓您瀏覽計算圖表,查看學習曲線等。

Google 還推出了云服務來運行 TensorFlow 表。

最后,它擁有一支充滿熱情和樂于助人的開發團隊,以及一個不斷成長的社區,致力于改善它。它是 GitHub 上最受歡迎的開源項目之一,并且越來越多的優秀項目正在構建之上(例如,查看https://www.tensorflow.org/或https://github.com/jtoy/awesome-tensorflow)。 要問技術問題,您應該使用http://stackoverflow.com/并用tensorflow標記您的問題。您可以通過 GitHub 提交錯誤和功能請求。有關一般討論,請加入Google 小組。

在本章中,我們將介紹 TensorFlow 的基礎知識,從安裝到創建,運行,保存和可視化簡單的計算圖。 在構建第一個神經網絡之前掌握這些基礎知識很重要(我們將在下一章中介紹)。

安裝

讓我們開始吧!假設您按照第 2 章中的安裝說明安裝了 Jupyter 和 Scikit-Learn,您可以簡單地使用pip來安裝 TensorFlow。 如果你使用virtualenv創建了一個獨立的環境,你首先需要激活它:

$ cd $ML_PATH #Your ML working directory(e.g., $HOME/ml)$ source env/bin/activate

下一步,安裝 Tensorflow。

$ pip3 install --upgrade tensorflow

對于 GPU 支持,你需要安裝tensorflow-gpu而不是tensorflow。具體請參見 12 章內容。

為了測試您的安裝,請輸入一下命令。其輸出應該是您安裝的 Tensorflow 的版本號。

$ python -c 'import tensorflow; print(tensorflow.__version__)'1.0.0

創造第一個圖譜,然后運行它

import tensorflow as tf x = tf.Variable(3, name="x") y = tf.Variable(4, name="y") f = x*x*y + y + 2

這就是它的一切! 最重要的是要知道這個代碼實際上并不執行任何計算,即使它看起來像(尤其是最后一行)。 它只是創建一個計算圖譜。 事實上,變量都沒有初始化.要求出此圖,您需要打開一個 TensorFlow 會話并使用它初始化變量并求出f。TensorFlow 會話負責處理在諸如 CPU 和 GPU 之類的設備上的操作并運行它們,并且它保留所有變量值。以下代碼創建一個會話,初始化變量,并求出f,然后關閉會話(釋放資源):

# way1 sess = tf.Session() sess.run(x.initializer) sess.run(y.initializer) result = sess.run(f) print(result) sess.close()

不得不每次重復sess.run() 有點麻煩,但幸運的是有一個更好的方法:

# way2 with tf.Session() as sess: x.initializer.run() y.initializer.run() result = f.eval() print(result)

在with塊中,會話被設置為默認會話。 調用x.initializer.run()等效于調用tf.get_default_session().run(x.initial),f.eval()等效于調用tf.get_default_session().run(f)。 這使得代碼更容易閱讀。 此外,會話在塊的末尾自動關閉。

你可以使用global_variables_initializer()函數,而不是手動初始化每個變量。 請注意,它實際上沒有立即執行初始化,而是在圖譜中創建一個當程序運行時所有變量都會初始化的節點:

# way3 # init = tf.global_variables_initializer() # with tf.Session() as sess: # init.run() # result = f.eval() # print(result)

在 Jupyter 內部或在 Python shell 中,您可能更喜歡創建一個InteractiveSession。 與常規會話的唯一區別是,當創建InteractiveSession時,它將自動將其自身設置為默認會話,因此您不需要使用模塊(但是您需要在完成后手動關閉會話):

# way4 init = tf.global_variables_initializer() sess = tf.InteractiveSession() init.run() result = f.eval() print(result) sess.close()

TensorFlow 程序通常分為兩部分:第一部分構建計算圖譜(這稱為構造階段),第二部分運行它(這是執行階段)。 建設階段通常構建一個表示 ML 模型的計算圖譜,然后對其進行訓練,計算。 執行階段通常運行循環,重復地求出訓練步驟(例如,每個小批次),逐漸改進模型參數。

管理圖譜

您創建的任何節點都會自動添加到默認圖形中:

>>> x1 = tf.Variable(1) >>> x1.graph is tf.get_default_graph() True

在大多數情況下,這是很好的,但有時您可能需要管理多個獨立圖形。 您可以通過創建一個新的圖形并暫時將其設置為一個塊中的默認圖形,如下所示:

>>> graph = tf.Graph() >>> with graph.as_default(): ... x2 = tf.Variable(2) ... >>> x2.graph is graph True >>> x2.graph is tf.get_default_graph() False

在 Jupyter(或 Python shell)中,通常在實驗時多次運行相同的命令。 因此,您可能會收到包含許多重復節點的默認圖形。 一個解決方案是重新啟動 Jupyter 內核(或 Python shell),但是一個更方便的解決方案是通過運行tf.reset_default_graph()來重置默認圖。

節點值的生命周期

求出節點時,TensorFlow 會自動確定所依賴的節點集,并首先求出這些節點。 例如,考慮以下代碼:

# w = tf.constant(3) # x = w + 2 # y = x + 5 # z = x * 3 # with tf.Session() as sess: # print(y.eval()) # print(z.eval())

首先,這個代碼定義了一個非常簡單的圖。然后,它啟動一個會話并運行圖來求出y:TensorFlow 自動檢測到y取決于x,它取決于w,所以它首先求出w,然后x,然后y,并返回y的值。最后,代碼運行圖來求出z。同樣,TensorFlow 檢測到它必須首先求出w和x。重要的是要注意,它不會復用以前的w和x的求出結果。簡而言之,前面的代碼求出w和x兩次。所有節點值都在圖運行之間刪除,除了變量值,由會話跨圖形運行維護(隊列和讀者也保持一些狀態)。變量在其初始化程序運行時啟動其生命周期,并且在會話關閉時結束。如果要有效地求出y和z,而不像之前的代碼那樣求出w和x兩次,那么您必須要求 TensorFlow 在一個圖形運行中求出y和z,如下面的代碼所示:

# with tf.Session() as sess: # y_val, z_val = sess.run([y, z]) # print(y_val) # 10 # print(z_val) # 15

在單進程 TensorFlow 中,多個會話不共享任何狀態,即使它們復用同一個圖(每個會話都有自己的每個變量的副本)。 在分布式 TensorFlow 中,變量狀態存儲在服務器上,而不是在會話中,因此多個會話可以共享相同的變量。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器學習
    +關注

    關注

    66

    文章

    8490

    瀏覽量

    134040
  • python
    +關注

    關注

    56

    文章

    4823

    瀏覽量

    86138
  • tensorflow
    +關注

    關注

    13

    文章

    330

    瀏覽量

    61022

原文標題:【翻譯】Sklearn 與 TensorFlow 機器學習實用指南 —— 第9章 (上)啟動并運行TensorFlow

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    請問ESP32如何運行TensorFlow模型?

    請問ESP32如何運行TensorFlow模型?
    發表于 07-09 07:30

    關于 TensorFlow

    的底層數據操作,你也可以自己寫一點c++代碼來豐富底層的操作。真正的可移植性(Portability)Tensorflow 在CPU和GPU上運行,比如說可以運行在臺式機、服務器、手機移動設備等等。想要
    發表于 03-30 19:57

    本章的目的是讓你了解和運行 TensorFlow!

    簡介本章的目的是讓你了解和運行 TensorFlow!在開始之前, 讓我們先看一段使用 Python API 撰寫的 TensorFlow 示例代碼, 讓你對將要學習的內容有初步的印象.這段很短
    發表于 03-30 19:58

    使用 TensorFlow, 你必須明白 TensorFlow

    TensorFlow 圖描述了計算的過程. 為了進行計算, 圖必須在 會話 里被啟動. 會話 將圖的 op 分發到諸如 CPU 或 GPU 之類的 設備 上, 同時提供執行 op 的方法. 這些方法
    發表于 03-30 20:03

    TensorFlow運行時無法加載本機

    您好,我想在AI DevCloud的計算節點中運行TensorFlow時出錯。[u19741 @ c009-n031~] $ pythonPython 3.6.3 |英特爾公司| (默認,2018年
    發表于 10-19 12:00

    怎么運行Faster RCNN的tensorflow代碼

    如何運行Faster RCNN的tensorflow代碼
    發表于 06-15 09:25

    情地使用Tensorflow吧!

    和GPU上運行,比如說可以運行在臺式機、服務器、手機移動設備等等。想要在沒有特殊硬件的前提下,在你的筆記本上跑一下機器學習的新想法?Tensorflow可以辦到這點。準備將你的訓練模型在多個CPU上規模
    發表于 07-22 10:13

    TensorFlow是什么

    、Caffe 和 MxNet,那 TensorFlow 與其他深度學習庫的區別在哪里呢?包括 TensorFlow 在內的大多數深度學習庫能夠自動求導、開源、支持多種 CPU/GPU、擁有預訓練模型,支持常用
    發表于 07-22 10:14

    TensorFlow安裝和下載(超詳細)

    conda 環境: 該命令應提示: 根據要在 conda 環境中安裝的 TensorFlow 版本,輸入以下命令: 在命令行中輸入 python,輸入以下代碼: 輸出如下:在命令行中禁用
    發表于 07-22 10:25

    TensorFlow教程|常見問題

    此文檔對關于TensorFlow的一些常見問題提供了答案,如果這里沒有你問題的答案,你可能會在 社區資源 中找到它。內容常見問題建立 TensorFlow graph運行 TensorFlow
    發表于 07-27 18:33

    在Ubuntu 18.04 for Arm上運行TensorFlow和PyTorch的Docker映像

    MKLDNN_VERBOSE=1 以驗證構建在運行基準測試時使用 oneDNN。概括AArch64 上的TensorFlow和PyTorch的Docker 映像現在可以在 Docker Hub 上獲取快速
    發表于 10-14 14:25

    TensorFlow的框架結構解析

    TensorFlow框架,通過在Linux系統下搭建環境,仿真手寫字符識別的TensorFlow模型,實現手寫字符的識別,從而實現TensorFlow機器學習框架的學習與應用。
    發表于 04-04 14:39 ?7236次閱讀
    <b class='flag-5'>TensorFlow</b>的框架結構解析

    提出一個快速啟動自己的 TensorFlow 項目模板

    簡潔而精密的結構對于深度學習項目來說是必不可少的,在經過多次練習和 TensorFlow 項目開發之后,本文作者提出了一個結合簡便性、優化文件結構和良好 OOP 設計的 TensorFlow 項目模板。該模板可以幫助你快速啟動
    的頭像 發表于 02-07 11:47 ?3339次閱讀
    提出一個快速<b class='flag-5'>啟動</b>自己的 <b class='flag-5'>TensorFlow</b> 項目模板

    tensorflow和python的關系_tensorflow與pytorch的區別

    Tensorflow和Python有什么關系?Tensorflow是Python的機器學習庫,Python的庫有很多,如Tensorflow、NumPy、Httpie、Django、Flask、Ansible。我們知道章魚有很多
    的頭像 發表于 12-04 14:54 ?2w次閱讀

    用樹莓派搞深度學習?TensorFlow啟動!

    RaspberryPi4上運行TensorFlow,但不要期望有奇跡般的表現。如果模型不太復雜,它可以運行您的模型,但無法訓練新模型,也無法執行所謂的遷移學習。除了運行您預
    的頭像 發表于 03-25 09:33 ?289次閱讀
    用樹莓派搞深度學習?<b class='flag-5'>TensorFlow</b><b class='flag-5'>啟動</b>!