TensorFlow 程式設計概念

2021-09-11 02:08:12 字數 4703 閱讀 6141

學習目標:

構建乙個簡單的 tensorflow 程式,使用該程式繪製乙個預設圖建立乙個執行該圖的會話

注意:請仔細閱讀本教程。tensorflow 程式設計模型很可能與您遇到的其他模型不同,因此可能不如您期望的那樣直觀。

tensorflow 的名稱源自張量張量任意維度的陣列

tensorflow指令建立銷毀操控張量。典型 tensorflow 程式中的大多數**行都是指令。

tensorflow(也稱為計算圖資料流圖)是一種圖資料結構。很多 tensorflow 程式由單個圖構成,但是 tensorflow 程式可以選擇建立多個圖。節點指令張量。張量流經圖,在每個節點由乙個指令操控。乙個指令的輸出張量通常會變成後續指令的輸入張量。tensorflow 會實現延遲執行模型,意味著系統僅會根據相關節點的需求在需要時計算節點。

張量可以作為常量變數儲存在圖中。您可能已經猜到,常量儲存的是值不會發生更改的張量,而變數儲存的是值會發生更改的張量。不過,您可能沒有猜到的是,常量和變數都只是圖中的一種指令。常量是始終會返回同一張量值的指令。變數是會返回分配給它的任何張量的指令。

使用tf.constant指令定義常量,並傳入它的值。例如:

x = tf.constant([5.2])
使用tf.variable指令定義建立變數,並傳入它的值。例如:

y = tf.variable([5])
或者,您也可以先建立變數,然後再如下所示地分配乙個值(注意:您始終需要指定乙個預設值):

y = tf.variable([0])

y = y.assign([5])

定義一些常量或變數後,您可以將它們與其他指令(如tf.add)結合使用。在評估tf.add指令時,它會呼叫您的tf.constanttf.variable指令,以獲取它們的值,然後返回乙個包含這些值之和的新張量。

必須在 tensorflow會話中執行,會話儲存了它所執行的圖的狀態

將 tf.session() 作為會話:

initialization = tf.global_variables_initializer()

print y.eval()

在使用tf.variable時,您必須在會話開始時呼叫tf.global_variables_initializer,以明確初始化這些變數,如上所示。

注意:會話可以將圖分發到多個機器上執行(假設程式在某個分布式計算框架上執行)。有關詳情,請參閱分布式 tensorflow。

tensorflow程式設計本質上是乙個兩步流程

輸出 tensorflow 版本

#!/usr/bin/env python

# -*- coding:utf-8 -*-

import tensorflow

print(tensorflow.__version__)

輸出

1.8.0
我們來看看如何編寫乙個將兩個常量相加的簡單 tensorflow 程式

與幾乎所有 python 程式一樣,您首先要新增一些import語句。

當然,執行 tensorflow 程式所需的import語句組合取決於您的程式將要訪問的功能。至少,您必須在所有 tensorflow 程式中新增import tensorflow語句:

import tensorflow as tf
請勿忘記執行前面的**塊(import語句)。

其他常見的 import 語句包括:

import matplotlib.pyplot as plt # 資料集視覺化

import numpy as np # 低階數字 python 庫

import pandas as pd # 較高階別的數字 python 庫

tensorflow 提供了乙個預設圖。不過,我們建議您明確建立自己的graph,以便跟蹤狀態(例如,您可能希望在每個單元格中使用乙個不同的graph)。

import tensorflow as tf

# create a graph.

g = tf.graph(

)# establish the graph as the "default" graph.

with g.as_default(

): # assemble a graph consisting of the following three operations:

# * two tf.constant operations to create the operands.

# * one tf.add operation to add the two operands.

x = tf.constant(8, name=

"x_const"

) y = tf.constant(5, name=

"y_const"

)sum

= tf.add(x, y, name=

"x_y_sum"

)# now create a session.

# the session will run the default graph.

with tf.session(

) as sess:

print sum.eval(

)

輸出

13
修改上面的**列表,以將三個整數(而不是兩個)相加:

# create a graph.

g = tf.graph(

)# establish our graph as the "default" graph.

with g.as_default(

): # assemble a graph consisting of three operations.

# (creating a tensor is an operation.)

x = tf.constant(8, name=

"x_const"

) y = tf.constant(5, name=

"y_const"

)sum

= tf.add(x, y, name=

"x_y_sum"

)# task 1: define a third scalar integer constant z.

z = tf.constant(4, name=

"z_const"

)# task 2: add z to `sum` to yield a new sum.

new_sum = tf.add(sum, z, name=

"x_y_z_sum"

)# now create a session.

# the session will run the default graph.

with tf.session(

) as sess:

# task 3: ensure the program yields the correct grand total.

print new_sum.eval(

)

Tensorflow 基礎概念

g v,e v operation 圖的節點 e tensor 圖的邊 g graph 圖 tensorflow tensor 多維陣列 flow graph 圖 op session回話上下文管理 variable tensor 多維資料變數 placeholder 外部傳入的引數變數 seesi...

TensorFlow 基本概念

tensorflow使用圖來表示計算任務,圖中的節點被稱之為op operation的縮寫 乙個op獲得n個tensor,執行計算,產生n個tensor。每個tensor是乙個型別化的多維陣列。例如,可以將一小 像集表示為乙個四維浮點數陣列,這個四個維度分別是 batch,height,width,...

TensorFlow程式設計策略

tensorflow程式中的計算過程可以表示為乙個計算圖 computation graph,也可稱為有向圖 directed graph 其作用與外觀都可模擬為程式流程圖。張量是在邊中流動的資料,其資料型別可以在程式設計時事先定義,也可根據計算圖中的上下文來推斷。計算圖的作用可以模擬為程式的流程圖...