基於tensorflow搭建乙個神經網路

2022-06-18 11:42:11 字數 1966 閱讀 5222

一,tensorflow的簡介

tensorflow是乙個採用資料流圖,用於數值計算的 開源軟體庫。節點在圖中表示數字操作,圖中的線 則表示在節點間相互聯絡的多維資料陣列,即張量 它靈活的架構讓你可以在多種平台上展開計算,例 如台式計算機中的乙個或多個cpu(或gpu), 伺服器,移動裝置等等。tensorflow最初由google 大腦小組的研究員和工程師們開發出來,用於機器 學習和深度神經網路方面的研究,但這個系統的通 用性使其也可廣泛用於其他計算領域。

二,tensorflow的架構

tensorflow的系統結構以c api為界,將整個系統分為「前端」和「後端」兩個子系統。

前端系統 提供多語言程式設計環境,提供統一的程式設計模型支撐使用者構造計算圖 通過session的形式,連線tensorflow後端的「執行時」,啟動計算圖的執行過程。

後端系統 提供執行時環境,負責執行計算圖。

三,tensorflow的簡單實現步驟

1,定義乙個神經層的函式: 神經層裡常見的引數通常有weights、biases和激勵函式。

2,匯入資料 構建所需的資料。

3,搭建網路 先定義隱藏層,再定義輸出層,計算**值和真實值的誤差

4,訓練 給定次數,讓機器開始學習。

5,結果視覺化

**如下:

import tensorflow as tf

import matplotlib.pyplot as plt

import numpy as np

tf.set_random_seed(1)

np.random.seed(1)

#構建所需資料

x = np.linspace(-1, 1, 100)[:, np.newaxis]

noise = np.random.normal(0, 0.1, size=x.shape)

y = np.power(x, 2) + noise

#輸入x和y

tf_x = tf.placeholder(tf.float32, x.shape)

tf_y = tf.placeholder(tf.float32, y.shape)

# 搭建神經網路

#隱藏層

l1 = tf.layers.dense(tf_x, 10, tf.nn.relu)

#輸出層

output = tf.layers.dense(l1, 1)

loss = tf.losses.mean_squared_error(tf_y, output)

optimizer = tf.train.gradientdescentoptimizer(learning_rate=0.5)

train_op = optimizer.minimize(loss)

sess = tf.session()

sess.run(tf.global_variables_initializer())

plt.ion()

#訓練for step in range(100):

_, l, pred = sess.run([train_op, loss, output], )

if step % 5 == 0:

plt.cla()

plt.scatter(x, y)

plt.plot(x, pred, 'r-', lw=5)

plt.text(0.5, 0, 'loss=%.4f' % l, fontdict=)

plt.pause(0.1)

plt.ioff()

plt.show()

執行結果如圖:

四,總結

以上為tensorflow的簡單介紹,算是基礎入門的案例了。往後學就是分類學習,cnn卷積神經網路,rnn迴圈神經網路了。

TensorFlow平台搭建

1,anaconda 的安裝 在 anaconda prompt 視窗輸入 anconda search t conda tensorflow anconda show 相應的版本名稱conda install channel注意 相應的python版本要在3.0版本以上。也可以通過清華大學映象倉庫...

Anaconda搭建tensorflow虛擬環境

root使用者的話不用管 普通使用者千萬別sudo 不然白弄 bin bash anaconda sh 新增環境變數 現在得conda好像自動新增了 不過寫一下也無妨 export path anaconda3 bin path source bashrc 檢視版本檢驗是否安裝完成 conda ve...

Tensorflow 框架搭建神經網路(一)

檔名稱 test.py 作 者 孔雲 問題描述 實現 tensorflow 的加法 import tensorflow as tf 引入模組 a tf.constant 1.0,2.0 定義乙個張量等於 1.0,2.0 b tf.constant 3.0,4.0 定義乙個張量等於 3.0,4.0 r...