python應用之基於tensorflow的數據擬合:深度學習之預測入門篇

2020-12-11 跳動的雞毛撣子

實驗目的:1、了解python在深度學習領域的應用

2、學習安裝python第三方依賴庫

實驗環境:已正確安裝python3.5以及依賴庫tensorflow、matplotlib

預測過程展示:

1、應用領域

python是一種高級面向對象的動態類型語言,具有開發高效,學習簡單的特點,主要應用於大數據、深度學習、機器學習、以及Web開發等領域,具有良好的發展前景。

2、依賴庫的安裝方法

(1)在線直接安裝

在命令行模式下利用pip命令安裝,命令格式:pip install XXX,如:

pip install tensorflow#安裝tensorflow第三方依賴庫

pip install matplotlib#安裝matplotlib第三方依賴庫

(2)離線安裝

離線安裝適用於網絡較差時,可以在https://pypi.org/處搜索下載安裝包,然後在命令 行切換到安裝包目錄利用pip命令安裝。

3、原始數據準備

在訓練深度學習模型之前必須轉備好訓練數據,本文以y=2x為訓練目標進行實驗:

import numpy as np #導入數值計算模塊

import matplotlib.pyplot as plt#導入畫圖模塊

#準備數據

train_x=np.linspace(-1,1,100)#生成1*100的數組

train_y=2*train_x+np.random.randn(*train_x.shape)*0.5#生成訓練數據時加入了噪聲

#數據以圖片展示

fig=plt.figure()

ax=fig.add_subplot(1,1,1)

ax.scatter(train_x,train_y)

ax.plot(train_x,train_y,'r*',label='Original Data')

plt.legend()

plt.ion()

plt.show()

編輯好以上代碼後,運行生成的結果如圖

4、搭建訓練模型

搭建訓練模型是深度學習比較重要的一個環節,簡單的說它是一個運算規則,本文以一個神經元為例搭建計算模型。

X=tf.placeholder("float")#定義佔位符,作用:輸入訓練值

Y=tf.placeholder("float")#定義佔位符,作用:輸入標準值

W=tf.Variable(tf.random_normal([1]),name="weight")#定義權重

b=tf.Variable(tf.zeros([1]),name="bias")#定義偏執,類似於噪聲

z=tf.multiply(X,W)+b#定義計算結構之前向結構

在定義好計算結構之後,需要定義優化規則

cost=tf.reduce_mean(tf.square(Y-z))#定義以訓練值與預測值的均方根誤差為評判準則

learn_rate=0.01#定義學習率

optimizer=tf.train.GradientDescentOptimizer(learn_rate).minimize(cost)#定義訓練方法(以梯度下降的方法進行訓練,以誤差:cost達到最小為目標)

5、模型訓練

上一步驟就類似於畫出了計算規則的藍圖,但是其並未進行運算,需要初始化變量、定義會話並在會話中利用run()方法啟動圖的運算,這也是tensorflow的一個特點

init=tf.global_variables_initializer()#定義初始化變量的對象

training_epochs=25#定義迭代訓練次數

display_step=2#定義可視化步長

with tf.Session() as sess:#定義會話

sess.run(init)

for epoch in range(training_epochs):

for (x,y) in zip(train_x,train_y):

sess.run(optimizer,feed_dict={X:x,Y:y})

if epoch % display_step == 0:

loss = sess.run(cost,feed_dict={X:train_x,Y:train_y})

print("Epoch:",epoch+1,"cost=",loss,"W=",sess.run(W),"b=",sess.run(b))

#動態可視化定義

try:

ax.lines.remove(lines[0])#先抹除舊線再去畫新線

except Exception:

pass

lines=ax.plot(train_x,train_x*sess.run(W)+sess.run(b),'b-',label='pridect Data')

plt.pause(8)

plt.legend()

預測結果圖
預測過程參數輸出

相關焦點

  • 基於TensorFlow的深度學習實戰
    毫不誇張得說,TensorFlow的流行讓深度學習門檻變得越來越低,只要你有Python和機器學習基礎,入門和使用神經網絡模型變得非常簡單。TensorFlow簡介如前所述,TensorFlow是一個深度學習庫,使用這一框架,可以用來構建和測試深度神經網絡。深度學習讓我們能夠以極高的準確性構建複雜的應用程式。
  • 【機器學習】人人都可以做深度學習應用:入門篇(中)
    本文承接上篇文章人人都可以做深度學習應用:入門篇(上)(請戳我),在本文會總結深度學習環境的搭建以及一個經典的demo:識別手寫數字(MNIST
  • Tensorflow 全網最全學習資料匯總之Tensorflow 的入門與安裝【2】
    《TensorFlow學習筆記1:入門》連結:http://www.jeyzhang.com/tensorflow-learning-notes.html本文與上一篇的行文思路基本一致,首先概括了TensorFlow的特性,然後介紹了graph、session、variable 等基本概念的含義,以具體代碼的形式針對每個概念給出了進一步的解釋
  • 最熱門的深度學習框架TensorFlow入門必備書籍
    但進入機器學習和人工智慧領域並不是一件簡單的事情,目前市場上有許多大量的學習資源,許多開發者和想要進入的愛好者往往很難找到適合自己的發展路徑。其實,早在 2015 年底,谷歌就開源了內部使用的深度學習框架 TensorFlow 。眾多研究表明,Tensorflow 是研究深度學習的首選平臺。
  • Python安裝TensorFlow 2、tf.keras和深度學習模型的定義
    p=15826 深度學習的預測建模是現代開發人員需要了解的一項技能。TensorFlow是Google開發和維護的首要的開源深度學習框架。儘管直接使用TensorFlow可能具有挑戰性,但現代的tf.keras API使得Keras在TensorFlow項目中的使用簡單易用。使用tf.keras,您可以設計,擬合,評估和使用深度學習模型,從而僅用幾行代碼即可做出預測。
  • 大數據下基於Tensorflow框架的深度學習示例教程
    近幾年,資訊時代的快速發展產生了海量數據,誕生了無數前沿的大數據技術與應用。在當今大數據時代的產業界,商業決策日益基於數據的分析作出。
  • 深度學習筆記13:Tensorflow實戰之手寫mnist手寫數字識別
    作者:魯偉一個數據科學踐行者的學習日記。
  • TensorFlow極速入門
    作者孟曉龍,2016年加入Qunar,目前在去哪兒網機票事業部擔任算法工程師。熱衷於深度學習技術的探索,對新事物有著強烈的好奇心。一、前言目前,深度學習已經廣泛應用於各個領域,比如圖像識別,圖形定位與檢測,語音識別,機器翻譯等等,對於這個神奇的領域,很多童鞋想要一探究竟,這裡拋磚引玉的簡單介紹下最火的深度學習開源框架 tensorflow。
  • tensorflow極速入門
    一、前言目前,深度學習已經廣泛應用於各個領域,比如圖像識別,圖形定位與檢測,語音識別,機器翻譯等等,對於這個神奇的領域,很多童鞋想要一探究竟,這裡拋磚引玉的簡單介紹下最火的深度學習開源框架 tensorflow。本教程不是 cookbook,所以不會將所有的東西都事無巨細的講到,所有的示例都將使用 python。那麼本篇教程會講到什麼?
  • 《概率深度學習:使用Python,Keras和TensorFlow概率》附下載
    Probabilistic Deep Learning: With Python, Keras and TensorFlow Probability作者: Oliver Duerr出版日期: 2020ISBN: 9781617296079頁數: 252語言: English格式: PDF大小: 60 Mb概率性深度學習
  • 深度學習入門:Tensorflow實戰Digit Recognizer(一)
    Tensorflow是當前GitHub上最活躍的機器學習項目,本文是Tensorflow實戰Digit Recognizer系列文章的第一篇,介紹如何在
  • 基於PaddlePaddle搭建工業級ICNET應用 預測速度超TensorFlow 20%
    得益於深度學習技術的爆發式發展,圖像語義分割也進入高速的發展階段。當今基於深度學習的各種網絡架構不斷提升圖像語義分割的性能,但是都距離工業界的實際應用有一定距離,像在Cityscapes數據集取得不錯效果的ResNet和PSPNet針對1024*1024的圖像至少需要1秒鐘做出推斷,遠遠不能滿足自動駕駛,在線視頻處理,甚至移動計算等領域實時的要求,ICNET即是在這樣的背景下,在不過多降低預測效果的基礎上實現毫秒級相應以滿足實時處理的要求。
  • 某小夥10行python,TensorFlow入門實例訓練,擬合平面訓練
    TensorFlow入門實例訓練——擬合平面訓練需要了解基本面的Python的numpy包,經過多次測試,基本上訓練260次左右就基本穩定不變了。本實例僅作為入門學習使用,更深入的需進一步學習。import tensorflow as tfimport numpy as npimport sys #未用到#生成數據x_data=np.float32(np.random.rand(2,100))
  • 如何用一個Python示例入門TensorFlow?
    正如我在那篇文章中提到的,給出的解決方案離最優方案還差的太遠。假如要達到專業化使用的程度,這個解決方案還需要使用更多的數學和矩陣乘法。幸運的是,Google裡有些聰明人創造了一個做這件事情的庫——TensorFlow。這是一個廣受歡迎的開源庫,正如你目前所了解的那樣,它擅長於數字計算,這對我們的神經網絡計算至關重要。它為大多數主流程序語言進行深度學習領域的開發提供了應用程式接口。
  • 7種架構範例的深度學習,每個範例都提供了TensorFlow教程
    由於 ground truth 數據來自輸入數據,所以不需要人工操作。換句話說,它是自我監督的。自動編碼器的應用包括無監督嵌入、圖像去噪等。最重要的是,它的 「表示學習」 的基本思想是下一節的生成模型和所有深度學習的核心。
  • 深度學習筆記7:Tensorflow入門
    作者:魯偉 一個數據科學踐行者的學習日記。
  • 深度學習基礎(十):TensorFlow 2.x模型的驗證、正則化和回調
    基於深度學習和神經網絡的重要基礎及方法概要深度學習背後的數學思想Tensorflow2實現YOLOv3目標檢測開發機器學習模型時的一個常見問題是過擬合。否則,如果您無法使用機器學習模型來訓練模型所依據的數據,而無法成功地進行預測,那麼該方法又有什麼用呢?通過模型選擇和正則化來實現泛化和避免過度擬合。Tensorflow 2.x提供了 回調 函數的功能,工程師可以通過該 功能在培訓進行時根據保留的驗證集監視模型的性能。
  • python深度學習---帶你從入門到精通
    為輔助提高廣大科研工作者的使用python深度學習技術,我們舉辦了本次《python深度學習實踐技術及應用線上培訓》,利用大量的案例講解與實操練習讓大家更深入便捷的運用到工作學習中,也方便各個領域可以更好地交叉融合、擴展應用。
  • 帶你入門機器學習與TensorFlow2.x
    1.2 什麼是機器學習機器學習是實現人工智慧的一種方法,基本原理是使用算法來解析數據,並從中學習到規律,然後對真實世界中的事件做出決策和預測。也就是說,機器學習的核心有兩個:算法和數據。與傳統的人工智慧程序不同,機器學習需要依賴大量的數據進行「訓練」,通過各種算法從數據中學習如何完成任務。
  • 使用Python+Tensorflow的CNN技術快速識別驗證碼
    北京 上海巡迴站 | NVIDIA DLI深度學習培訓NVIDIA 深度學習學院 帶你快速進入火熱的DL領域正文共2929個字,17張圖,預計閱讀時間:8分鐘。近年來,機器學習變得愈加火熱,中國選手柯潔與AlphaGo的人機大戰更是引起熱議。目前,在圖像識別和視覺分析研究中,卷積神經網絡(CNN)技術的使用越來越多。