如何開始我的第一個人工智慧模型(tensorflow)

2020-09-13 老侯聊點事
  1. 安裝tensorflow

大家都知道tensorflow是google開發的一款開源的深度學習編程框架,是當今最流行的深度學習開發框架,因此對有志於深度學習研究的小夥伴來說,tensorflow是當仁不讓的第一選擇。

首先看看tensorflow的安裝,其實非常簡單,在python環境安裝好的前提下,直接運行:

pip install tensorflow就可以了。

筆者用的是python3.5環境,tensorflow是1.4版本。

【問題1】如何加快pip安裝速率

在默認pip安裝的時候,國內的網絡下經常會報超時,這時有個很好的解決辦法就是將pip的目標庫改到國內的網址,怎麼改呢?只要設置pip.ini文件就可以了,筆者的pip.ini文件內容是這樣的:

[global]timeout = 60000index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]use-mirrors = truemirrors = https://pypi.tuna.tsinghua.edu.cn

這是連到清華的網站上了,然後將pip.ini放到C:\用戶\當前帳號\pip\目錄下就可以了。下面用pip install tensorflow,速度飛快啊!

2、基本使用

1、使用圖(graphs)來表示計算任務,用於搭建神經網絡的計算過程,但其只搭建網絡,不計算

2、在被稱之為會話(Session)的上下文(context)中執行圖

3、使用張量(tensor)表示數據,用「階」表示張量的維度。關於這一點需要展開一下

0階張量稱為標量,表示單獨的一個數

1階張量稱為向量, 表示一個一維數組

2階張量稱為矩陣,表示一個二維數組

……

張量是幾階的可以通過張量右邊的方括號數來判斷。例如 t = [ [ [ ] ] ],顯然這個為3階。

4、通過變量(Variable)維護狀態

5、使用feed和fetch可以為任意的操作賦值或者從其中獲取數據

tensorflow是一個編程系統,使用圖(graphs)來表示計算任務,圖(graphs)中的節點稱之為op(operation),一個op獲得0個或者多個tensor,執行計算,產生0個或多個tensor,tensor看作是一個n維的數組或列表。圖必須在會話(session)裡被啟動。

最簡單的例子:

import tensorflow as tf 創建兩個常量(constant)m1=tf.constant([[3,3]]) 兩行一列的矩陣 定義一個變量,這裡是張量的加減法,所以一維數組即可 a=tf.constant([3,3]) 增加一個減法op add=tf.add(x,sub) 在tensorflow中使用變量要初始化,此條語句也可以初始化多個變量 with tf.Session() as sess: sess.run(init) 使用placeholder()佔位,需要提供類型input2 = tf.placeholder(tf.float32)output = tf.multiply(input1,input2)with tf.Session() as sess: print(sess.run(output,feed_dict={input1:8.0,input2:2.0})) y = Wx + b, 初始化的時候隨便定義一個初始值 (2)定義神經網絡模型 linear_model = W*x + b 定義優化器optimizer optimizer = tf.train.GradientDescentOptimizer(0.01) train = optimizer.minimize(loss) 初始化Session init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) 評估準確率 curr_W, curr_b, curr_loss = sess.run([W, b, loss], {x: x_train, y: y_train}) print("W: %s b: %s loss: %s"%(curr_W, curr_b, curr_loss))

輸出結果:

W: [-1.0067805] b: [0.99450076] loss: 0.0024434922

這就是Tensorflow中線性模型的訓練方式,線性模型是tensorflow的入門磚,怎麼樣,是不是看起來很簡單。

相關焦點

  • 人工智慧學習入門之TensorFlow2.2版本安裝(Windows10)
    谷歌的tensorflow目前已經成為最為流行的人工智慧開源項目。很多公司基於TensorFlow實現自己的人工智慧程序。最新版本的TensorFlow不僅支持Linux作業系統,而且可以支持MacOS和Windows,今天我們就介紹一下如何在Windows10上安裝TensorFlow。
  • tensorflow2.0學習筆記(一)
    tensorflow2.0學習筆記(一)>這是本人自學tensorflow的筆記,用於記錄。從數學的角度而言就是如何在已知y,x的前提下猜到 y=w*x+b 這個表達式(一維角度)。如何解決這個問題就是機器學習的兩大分類之一:回歸問題問題已知關係式為: y = 3*x + 0.8 ,隨機給出100個x和y,如何建立這個關係式?
  • TensorFlow極簡教程:創建、保存和恢復機器學習模型
    按照順序閱讀下列腳本:serial.pytensor.pybigdata.pySerial.py這個腳本的目的是說明 TensorFlow 模型的基本要點。這個腳本使你更容易理解模型是如何組合在一起的。我們使用 for 循環來定義數據與線之間的誤差。由於定義誤差的方式為循環,該腳本以序列化(串行)計算的方式運行。
  • TensorFlow零基礎入門指南——計算模型、數...
    、數據模型和運行模型。◆ ◆ ◆ ◆ ◆TensorFlow計算模型——計算圖計算圖的概念TensorFlow的名字中已經說明了最重要的兩個概念——Tensor(張量)和Flow(流)。TensorFlow是通過一個計算圖的形式來表達計算的編程系統。
  • 實操將TensorFlow模型部署成Docker服務
    背景深度學習模型如何服務化是一個機器學習領域工程方面的熱點,現在業內一個比較主流的做法是將模型和模型的服務環境做成docker image。,今天把我自己的學習筆記分享下。舉個例子,假設預測數據是5,那麼預測結果是5/2+2=4.5/tensorflow_serving/servables/tensorflow/testdata/saved_model_half_plus_two_cpu2.準備Docker環境直接在這個地址下載:https
  • TensorFlow 模型優化工具包:模型大小減半,精度幾乎不變!
    這套工具包括了:混合量化(https://medium.com/tensorflow/introducing-the-model-optimization-toolkit-for-tensorflow-254aca1ba0a3 )全整數量化(https://medium.com/tensorflow/tensorflow-model-optimization-toolkit-post-training-integer-quantization-b4964a1ea9ba
  • 深度學習/目標檢測之tensorflow——莫煩教程總結(1-13)
    ,在tensorflow中,進行運算前需要將定義的tensor初始化。(一個隱藏層,一個輸出層)。的可視化工具,tensorboard主要有四個功能,查看標量(scalers)、圖(Graph)、參數分布(Distribution)、參數柱狀圖(Histograms)。
  • TensorFlow Cloud 助力模型訓練無縫「上雲」
    stanford_dogshttps://tensorflow.google.cn/datasets/catalog/stanford_dogs此處https://github.com/tensorflow/cloud/blob/master/src/python/tensorflow_cloud/core/tests/examples/call_run_within_script_with_keras_fit.py
  • 如何使用TensorFlow Hub的ESRGAN模型來在安卓app中生成超分圖片
    儘管可以使用傳統的插值方法(如雙線性插值和雙三次插值)來完成這個任務,但是產生的圖片質量卻經常差強人意。深度學習,尤其是對抗生成網絡 GAN,已經被成功應用在超分任務上,比如 SRGAN 和 ESRGAN 都可以生成比較真實的超分圖片。那麼在本文裡,我們將介紹一下如何使用TensorFlow Hub上的一個預訓練的 ESRGAN 模型來在一個安卓 app 中生成超分圖片。
  • tensorflow安裝教程
    tensorflow是谷歌開源的人工智慧庫,有最完善的生態支持。是進行人工智慧領域開發和科研的必備工具。本文在windows10下,藉助anacondaAnaconda安裝和使用,AkShare入門,安裝tensorflow2.0。
  • TensorFlow 攜手 NVIDIA,使用 TensorRT 優化 TensorFlow Serving...
    TensorFlow 團隊與 NVIDIA 攜手合作,在 TensorFlow v1.7 中添加了對 TensorRT 的首度支持,此後,他們更是保持密切的合作,共同致力於對 TensorFlow-TensorRT 集成(被稱作 TF-TRT)進行改進。。
  • 玩轉TensorFlow?你需要知道這30功能
    把 N 維數字從流圖的一端流動到另一端的過程,就是人工智慧神經網絡進行分析和處理的過程。最近,twitter 上有一位 Goolge AI 工程師、Google AI 的積極宣傳者 Paige Bailey (@DynamicWebPaige)總結了 TensorFlow 的 30 個主要功能,雷鋒網 AI 科技評論整理如下。
  • 在TensorFlow中使用模型剪枝將機器學習模型變得更小
    導入常見問題我們的第一步導入一些工具、包:Os和Zipfile可以幫助我們評估模型的大小。tensorflow_model_optimization用來修剪模型。load_model用於加載保存的模型。當然還有tensorflow和keras。
  • TensorFlow.js 進行模型訓練
    TensorFlow.js使用tf.layers API創建模型的語法。如何使用tfjs-vis庫監控瀏覽器內培訓。你需要什麼最新版本的Chrome或其他現代瀏覽器。一個文本編輯器,可以在您的機器上本地運行,也可以通過Codepen或Glitch等在Web上運行。了解HTML,CSS,JavaScript和Chrome DevTools(或您首選的瀏覽器開發工具)。
  • 如何提升Tensorflow服務性能
    Tensorflow已經成長為事實上的機器學習(ML)平臺,在業界和研究領域都很流行。對Tensorflow的需求和支持促成了大量圍繞訓練和服務機器學習(ML)模型的OSS庫、工具和框架。Tensorflow服務是一個構建在分布式生產環境中用於服務機器學習(ML)模型的推理方面的項目。今天,我們將重點討論通過優化預測伺服器和客戶機來提高延遲的技術。
  • 人工智慧的開源神器TensorFlow簡介
    AI神器TensorFlow是一個由Google開源的適用於人工智慧(Artificial Intelligence, AI)和機器學習(Machine Learning, ML)的數據流圖計算神器。TensorFlowTensorFlow 是一個採用數據流圖(data flow graphs),常用於數值計算的開源軟體庫,在人工智慧領域的計算方面應用的比較多。節點(Nodes)在圖中表示數學操作,圖中的線(edges)則表示在節點間相互聯繫的多維數據數組,即張量(tensor)。它靈活的架構讓你可以在多種平臺上展開計算,具有跨平臺的性質。
  • kubeflow系列(三):模型即服務,關於tensorflow serving的使用
    模型即服務(Model as a service)作為算法模型最優雅的價值變現,也是最佳的tf算法部署實踐,Tensorflow Serving 作為Tensorflow官方的模型部署方案,也是kubeflow默認的一種tensorflow部署形式,本文介紹如何用 Tensorflow Serving 部署算法模型。
  • 寫給醫生的人工智慧體驗課(五):基於TensorFlow識別MNIST手寫數字
    人工智慧和大數據結合的系列課程我們已經出了四期:1、寫給醫生的人工智慧體驗課(一):作為醫生,怎麼跟進人工智慧不落伍?2、寫給醫生的人工智慧體驗課(二):用比喻的方式形象講解神經網絡3、寫給醫生的人工智慧體驗課(三):利用SPSS、R、python建立簡單的神經網絡4、寫給醫生的人工智慧體驗課(四):基於scikit-learn識別導入的圖像今天繼續講解第五課:基於
  • 教程| 如何用TensorFlow在安卓設備上實現深度學習推斷
    更重要的是,邊緣計算不僅為物聯網世界帶來了人工智慧,還提供了許多其他的可能性和好處。例如,我們可以在本地設備上將圖像或語音數據預處理為壓縮表示,然後將其發送到雲。這種方法解決了隱私和延遲問題。在 Insight 任職期間,我用 TensorFlow 在安卓上部署了一個預訓練的 WaveNet 模型。
  • 如何在PyTorch和TensorFlow中訓練圖像分類模型
    他們是如何做到的呢?他們使用哪個框架?你必須已閱讀很多有關不同深度學習框架(包括TensorFlow,PyTorch,Keras等)之間差異的信息。TensorFlow和PyTorch無疑是業內最受歡迎的框架。我相信你會發現無窮的資源來學習這些深度學習框架之間的異同。