TensorFlow應用實戰 | TensorFlow基礎知識

2021-02-20 LeadAI OpenLab

mkdir 1.helloworld

cd 1.helloworldvim 

helloworld.py

代碼:

# -*- coding: UTF-8 -*-

# 引入 TensorFlow 庫

import tensorflow as tf

# 設置了gpu加速提示信息太多了,設置日誌等級屏蔽一些

import os

os.environ['TF_CPP_MIN_LOG_LEVEL']='3'

# 創建一個常量 Operation (操作)

hw = tf.constant("Hello World! Mtianyan love TensorFlow!")

# 啟動一個 TensorFlow 的 Session (會話)

sess = tf.Session()

# 運行 Graph (計算圖)

print (sess.run(hw))

# 關閉 Session(會話)

sess.close()

mark

容易理解,命令語句基本沒優化: C,java, C++, Python

mark

涉及較多的嵌入和優化,運行速度有同比提升

mark

計算流圖。c和d是可以共用內存的。有一定優化。

# -*- coding: UTF-8 -*-

# 引入 TensorFlow 庫

import tensorflow as tf

# 設置了gpu加速提示信息太多了,設置日誌等級屏蔽一些

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='3'a = tf.constant(2)
b = tf.constant(3)
c = tf.multiply(a,b)

d = tf.add(c, 1)

with tf.Session() as sess:    

print (sess.run(d))

mark

TensorFlow的計算流圖,符號式編程的範式。有節點有邊,邊是計算結果在節點中流動。

Tensor 在 計算流圖中流動(flow)

mark

這張圖簡化一下,取其中一部分。

mark

邊就是Tensor(張量)在流動

mark

節點就是一個operation操作,數學計算或後面的激勵函數等的操作。

節點的輸入與輸出都是Tensor張量。

邊和節點共同構成了Graph 也就是數據流圖。

數據流圖會被放進session會話中進行運行。會話可以在不同的設備上去運行,比如cpu和GPU。

數據流圖:

Tensor (張量) 邊裡流動的數據

Operation(操作)

mark

Tensor 會作為operation的輸入,operation輸出的依然是Tensor。

數據模型  - Tensor(張量)

張量是TensorFlow中最重要的結構。

計算模型 - Graph(圖)

運行模型 - Session(會話)

mark

mark

計算流圖,也是TensorFlow的基本架構,表明了圖正在運行的狀態。

黑色的線不斷流動, 其中流動的就是Tensor,一個一個的節點就是它的操作。

mark

mark

燒杯中進行的化學反應就是操作,其中流動的就是張量。

mark

火狐打開一個瀏覽器就是打開了一個會話。

mark

使用x,y,z三行構建了一個圖,構建了一個實驗儀器。

TensorFlow使用了客戶端和服務端的經典架構。

客戶端是我們編寫的程序,程序請求服務端(C++)的運行時。

創建一個會話,使用會話中的run方法。

靜態的圖。數據流圖。如何讓某一部分動起來?需要點燃酒精燈。

mark

要讓這一部分運行起來。就得run

mark

定義算法的計算圖(Graph)的結構 靜態

使用會話(Session) 執行計算

TensorFlow和numpy有一定聯繫,有很多類似的概念和api

介紹Tensor時,有很多api名稱很相似

numpy官網,科學計算。n階數組對象。

numpy速度是非常快的,比原生快很多。

因為numpy的許多函數是用c語言來實現的。還使用了一些優化,甚至比你自己用c實現快很多.

scipy 是一個開源軟體。Matplotlib。pandas。jupyter notebook

numpy的操作對象是一個多維的數組。類似Tensor

ndarray ndim shape size dtype(同一類型元素).

import numpy as np
vector = np.array([1,2,3])
vector.shape
vector.size
vector.ndim
type(vector)# 創建二維數組(矩陣)matrix = np.array([[1, 2],[3, 4]])
matrix.shape
matrix.size
matrix.ndim

type(matrix)

對於矩陣進行轉置

one = np.arange(12)# 0 - 11one.reshape((3,4))
two = one.reshape((3,4))

two.shape
two.size

two.ndim

不斷流動的東西就是張量。節點就是operation計算:

mark

TensorFlow裡的數據都是Tensor,所以它可以說是一個張量的流圖

mark

張量的維度(秩):rank/order dimension

mark

維度是0的話,是一個標量(Scalar)

vector & Matrix

numpy中的基礎要素就是array,和Tensor 差不多的一種表述。

import numpy as np
zeros = np.zeros((3,4))
zeros

ones = np.ones((5,6))

ones# 對角矩陣: 必須是一個方陣.對角線是1,其他都是0的方陣ident = np.eye(4)

mark

一個張量裡面的元素類型都是一樣的。

mark

因為一個tensor 只能包含一種數據類型。dtype

TensorFlow.datatype list

https://www.tensorflow.org/api_docs/python/tf/DType

mark

TensorFlow數據類型有很多。

其他屬性:

https://www.tensorflow.org/api_docs/python/tf/Tensor

可以通過搜索Tensor 查看到它的其他屬性。

A Tensor是一個輸出的符號句柄 Operation。它不包含該操作輸出的值,而是提供了在TensorFlow中計算這些值的方法tf.Session。

device,在哪個設備上被計算出來的。

Graph 這個Tensor 所屬的一個圖;name 是我們可以給張量起的名字;op 是產生這個Tensor 的一個操作。

幾種Tensor

Constant

Variable

Placeholder

SparseTensor


值不能改變的一種Tensor

但取這個Tensor值有可能還是會變

定義在tf.constant類

tf.constant(
   value,
   dtype=None,
   shape=None,
   name='Const',

   verify_shape=False)

數值:標量,向量,矩陣;verify_shape 驗證形狀

官網例子:

# Constant 1-D Tensor populated with value list.

tensor = tf.constant([1, 2, 3, 4, 5, 6, 7]) => [1 2 3 4 5 6 7]

# Constant 2-D tensor populated with scalar value -1.

tensor = tf.constant(-1.0, shape=[2, 3]) => [[-1. -1. -1.]

                                                                          [-1. -1. -1.]]

我們的代碼

const = tf.constant(3)
const 

# 輸出const:0 shape=() dtype=int32

run之後才能得到具體的數。與普通的變量常量是不一樣的。

值可以改變的一種tensor

定義在tf.Variable. 注意這個v是大寫的,和constant是不一樣的。

屬性: initial_value

__init__(
   initial_value=None,
   trainable=True,
   collections=None,
   validate_shape=True,
   caching_device=None,
   name=None,
   variable_def=None,
   dtype=None,
   expected_shape=None,
   import_scope=None,

   constraint=None)

定義一個變量的張量。

var = tf.Variable(3)

var

# 不會輸出真實值,只會輸出數據類型等特徵量

我們可以在創建變量的時候指定好它的數據類型

var1 = tf.Variable(4, dtype=tf.int64)
var1# 默認系統給的變量名會自動遞增

PlaceHolder(佔位符)

先佔住一個固定的位置,等著你之後往裡面添加值的一種Tensor

mark

例子: 圖書館佔座

tf.placeholder

https://www.tensorflow.org/api_docs/python/tf/placeholder

tf.placeholder(
   dtype,
   shape=None,

   name=None)

屬性少。沒有值。形狀。賦值的機制用到了python中字典的機制

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

y = tf.matmul(x, x)

with tf.Session() as sess:

 print(sess.run(y))  # ERROR: will fail because x was not fed.

 rand_array = np.random.rand(1024, 1024)

 print(sess.run(y, feed_dict={x: rand_array}))  # Will succeed.

feed_dict 真正運行時才通過feed_dict關鍵字以字典形式向裡面傳值。

一種"稀疏"的Tensor,類似線性代數裡面的稀疏矩陣的概念

tf.SparseTensor

在矩陣中,若數值為0的元素數目遠遠多於非0元素的數目,並且非0元素分布沒有規律時,則稱該矩陣為稀疏矩陣;與之相反,若非0元素數目佔大多數時,則稱該矩陣為稠密矩陣。 定義非零元素的總數比上矩陣所有元素的總數為矩陣的稠密度。

定義稀疏矩陣,只需要定義非0的數,其他為0的數會自動的填充。

SparseTensor(indices=[[0, 0], [1, 2]], values=[1, 2], dense_shape=[3, 4])

指定坐標,對應坐標的值,以及它的形狀。

[[1, 0, 0, 0]
[0, 0, 2, 0]

[0, 0, 0, 0]]

Tensor("MUL:0", shape=(),dtype=float32)

類型 : tf.Variable
名字: MUL
0表示索引

你是operation產生的第幾個張量

shape 就是形狀 dtype 數據類型

定義一個有名字的Variable

named_var = tf.Variable([5,6], name="named_var")

named_var

自動生成的會以數據類型為名字。

Graph(圖)的形象比喻

mark

每個節點可以想像成一個儀器,在對我們的實驗品進行操作。

mark

儀器中被操作,以及在各個儀器中流動的是tensor。

定義算法的計算圖(Graph)結構

把實驗的器材等組裝好

使用會話(Session)執行圖的一部分(計算)

開始點燃酒精燈等操作

Graph tf.Graph

https://www.tensorflow.org/api_docs/python/tf/Graph

如果你沒有顯式的去創建圖,它其實已經幫你註冊了一個默認的圖。

默認Graph總是已註冊,並可通過調用訪問 tf.get_default_graph。

mark

沒有輸出值是因為我們還沒有用會話運行這一部分。

創建sess對象

我們可以看一下Session這個類

https://www.tensorflow.org/api_docs/python/tf/Session

一個Session對象封裝了Operation 執行對象的環境,並對Tensor對象進行評估。例如:

OPeration是圖上的節點,輸入張量,產生張量。

mark

run(
   fetches,
   feed_dict=None,
   options=None,

   run_metadata=None

)

mark

run返回的結果就是一個張量。

>>> tf.get_default_graph()
<tensorflow.python.framework.ops.Graph object at 0x000001EC0C5EE160>
>>> if c.graph is tf.get_default_graph():...     print("The Graph of c is the default graph")
...

The Graph of c is the default graph

可以看到c所屬的圖確實是默認圖。

# -*- coding: UTF-8 -*-

# 引入

tensorflowimport tensorflow as tf

# 設置了gpu加速提示信息太多了,設置日誌等級屏蔽一些

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

# 創建兩個常量 Tensor.第一個為1行2列,第二個為二行一列。

# 也就是矩陣乘法必須滿足,列等於行。

const1 = tf.constant([[2, 2]])
const2 = tf.constant([[4],
                     [4]])

# 矩陣乘法運算matrix mul tf.add()

multiple = tf.matmul(const1, const2)

# 嘗試用print輸出multiple的值, 不會輸出真實值。因為沒運行

print(multiple)

# 創建了 Session (會話) 對象

sess = tf.Session()

# 用Session的run方法來實際運行multiple這個矩陣乘法操作

# 並把操作執行的結果賦值給 

resultresult = sess.run(multiple)

# 用print列印矩陣乘法的結果

print(result)

if const1.graph is tf.get_default_graph():
   print("const1所在的圖(Graph)是當前上下文默認的圖")

# 關閉已用完的Session(會話)

sess.close()

# 第二種方法來創建和關閉Session,更安全

with tf.Session() as sess:
   result2 = sess.run(multiple)

   print("Multiple的結果是 %s " % result2)

mark

用顯示的close和with上下文管理器兩種方式實現.

展示構建的計算圖和節點等信息在瀏覽器裡。

mark

mark

輸入手寫4等相關4的圖片。輸出這是4

mark

輸入狗狗圖片,輸出可能是狗狗

mark

輸入歷史的股票曲線,預測出未來這一年的市值。

mark

打開黑盒,照亮。方便調參等操作。

節點和操作。

上層節點可以打開,看到下層節點。

之後可能會加入debug功能,目前還只是一種展示。

# 第一個參數為指定的保存路徑,第二個參數為要保存的圖

tf.summary.FileWriter("日誌保存路徑", sess.graph)

https://www.tensorflow.org/api_docs/python/tf/summary?hl=zh-cn

注意我們這裡的summary是小寫的summary。

張量摘要用於導出關於模型的信息。

官網的develop 中的get Started 裡面有關於TensorBoard的信息。

開源的github原始碼。

tensorboard --logdir=日誌所在路徑

Tensorflow安裝之後,會默認安裝有TensorBoard

上一節的代碼中自行添加一行

   # 第一個參數為指定的保存路徑,第二個參數為要保存的圖

   tf.summary.FileWriter("./", sess.graph)

用於導出關於模型的精簡信息的方法

可以使用TensorBoard等工具訪問這些信息

打開瀏覽器會有一系列菜單。

mark

6006埠打開。

mark

菜單分別是標量,圖片,音頻,圖。

mark

可以點擊節點,如果有加號打開節點裡面內容。節點含義會列在右邊。

distributions 訓練的一些分布。histograms 直方圖。

對於數字進行分類。

可以分類進行顏色加顏色。

我們剛才點擊過的雙擊圖形,節點裡面又有子節點。很像一些程式語言(如 c++) 的namespace, 包含嵌套的關係。卷積神經網絡下的偏差,adam方法(一種優化方法)。

mark

mark

一般的操作不會改變輸入的Tensor,如果是一條黃線,表示操作節點可以改變輸入的Tensor。

# -*- coding: UTF-8 -*-

# 引入tensorflow

import tensorflow as tf

# 設置了gpu加速提示信息太多了,設置日誌等級屏蔽一些

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='3'

# 構造圖(Graph)的結構

# 用一個線性方程的例子 y = W * x + b

# 梯度下降法求w和b

W = tf.Variable(2.0, dtype=tf.float32, name="Weight") # 權重

b = tf.Variable(1.0, dtype=tf.float32, name="Bias") # 偏差

x = tf.placeholder(dtype=tf.float32, name="Input") # 輸入

with tf.name_scope("Output"):      # 輸出的命名空間
   y = W * x + b    # 輸出

#const = tf.constant(2.0) # 常量,不需要初始化

# 定義保存日誌的路徑

path = "./log"

# 創建用於初始化所有變量 (Variable) 的操作

init = tf.global_variables_initializer()

# 創建Session(會話)

with tf.Session() as sess:

   sess.run(init) # 初始化變量
   # 寫入日誌文件
   writer = tf.summary.FileWriter(path, sess.graph)    

# 因為x是一個placeholder,需要進行值的填充
   result = sess.run(y, {x: 3.0})

   print("y = %s" % result) # 列印 y = W * x + b 的值,就是 7

使用tensorBoard

tensorboard --logdir=./log

6006類似於GOOGle的goog

不像之前的例子有很多菜單,只打開了一個graph菜單。

之後的圖有可能很複雜,查看損失函數,優化計算流圖。

mark

mark

生活中所見的遊樂園。

展示了基本的神經網絡結構

JavaScript編寫的網頁應用

通過瀏覽器就可以訓練簡單的神經網絡

訓練過程可視化,高度定製化

https://playground.tensorflow.org/

不用擔心運行複雜的神經網絡而搞垮。

數據集 - 特徵 - 隱藏層(深度: 很多層) - 輸出

測試的損失。訓練的損失。越接近0越好。

epoch是完整的運行過程。

黃色越黃越接近-1

點亮輸入。選擇激勵函數。問題類型分類還是回歸。

遊樂場對神經網絡有更形象的認識。

mark

一個極其強大的python繪圖庫:

https://matplotlib.org/

官網有很多例子。

scipy下的一個組件。


mark

sudo pip install matplotlib

代碼:

# -*- coding: UTF-8 -*-

# 引入 Matplotlib 的分模塊 

pyplotimport matplotlib.pyplot as plt

# 引入 numpy

import numpy as np

# 創建數據

# Linespace創建一定範圍內的圖線。-2到2之間等分100個點

x = np.linspace(-2, 2, 100)

#y = 3 * x + 4

y1 = 3 * x + 4

y2 = x ** 3

# 創建圖像

#plt.plot(x, y)

plt.plot(x, y1)

plt.plot(x, y2)

# 顯示圖像

plt.show()

mark

藍色的為y1.從-2到2的一條直線。

代碼示例2:

# -*- coding: UTF-8 -*-

import matplotlib.pyplot as plt

import numpy as np

# 創建數據

x = np.linspace(-4, 4, 50)
y1 = 3 * x + 2

y2 = x ** 2

# 第一張圖

# 指定圖的大小

plt.figure(num=1, figsize=(7, 6))

# 第一張圖兩個線

plt.plot(x, y1)
plt.plot(x, y2, color="red", linewidth=3.0, linestyle="--")

# 第二張圖

plt.figure(num=2)

plt.plot(x, y2, color="green")

# 顯示所有圖像

plt.show()

mark

代碼示例3:

子圖的繪製

import numpy as np

import matplotlib.pyplot as plt

from matplotlib.ticker import NullFormatter  

# useful for `logit` scale# Fixing random state for reproducibility

# 為了重現結果,設置隨機種子

np.random.seed(19680801)

# make up some data in the interval ]0, 1[

y = np.random.normal(loc=0.5, scale=0.4, size=1000)
y = y[(y > 0) & (y < 1)]
y.sort()
x = np.arange(len(y))

# plot with various axes scales

plt.figure(1)

# linear

# 兩行兩列子圖中第一個

plt.subplot(221)
plt.plot(x, y)
plt.yscale('linear')
plt.title('linear')
plt.grid(True)

# log

plt.subplot(222)
plt.plot(x, y)
plt.yscale('log')
plt.title('log')
plt.grid(True)

# symmetric log

plt.subplot(223)
plt.plot(x, y - y.mean())
plt.yscale('symlog', linthreshy=0.01)
plt.title('symlog')
plt.grid(True)

# logit

plt.subplot(224)
plt.plot(x, y)
plt.yscale('logit')
plt.title('logit')
plt.grid(True)

# Format the minor tick labels of the y-axis into empty strings with

# `NullFormatter`, to avoid cumbering the axis with too many labels.

plt.gca().yaxis.set_minor_formatter(NullFormatter())

# Adjust the subplot layout, because the logit one may take more space

# than usual, due to y-tick labels like "1 - 10^{-3}"

plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.25,
                   wspace=0.35)

plt.show()

mark

繪製一個像碗一樣的圖像。

from mpl_toolkits.mplot3d.axes3d 

import Axes3Dimport matplotlib.pyplot as plt

import numpy as np

fig, ax1 = plt.subplots(figsize=(8, 5),
                       subplot_kw={'projection': '3d'})

alpha = 0.8

r = np.linspace(-alpha,alpha,100)
X,Y= np.meshgrid(r,r)
l = 1./(1+np.exp(-(X**2+Y**2)))

ax1.plot_wireframe(X,Y,l)
ax1.plot_surface(X,Y,l, cmap=plt.get_cmap("rainbow"))
ax1.set_title("Bowl shape")

plt.show()

mark

製作靜態圖像,製作動態圖像。

示例5:

import numpy as np

from matplotlib import cm

import matplotlib.pyplot as pltimport mpl_toolkits.mplot3d.axes3d as p3

import matplotlib.animation as animation

def cost_function(x):
   return x[0]**2 + x[1]**2

def gradient_cost_function(x):
   return np.array([2*x[0], 2*x[1]])

nb_steps = 20

x0 = np.array([0.8, 0.8])
learning_rate = 0.1

def gen_line():
   x = x0.copy()
   data = np.empty((3, nb_steps+1))
   data[:, 0] = np.concatenate((x, [cost_function(x)]))    

for t in range(1, nb_steps+1):
       grad = gradient_cost_function(x)
       x -= learning_rate * grad
       data[:, t] = np.concatenate((x, [cost_function(x)]))    

return data

def update_line(num, data, line):

   # NOTE: there is no .set_data() for 3 dim data...
   line.set_data(data[:2, :num])
   line.set_3d_properties(data[2, :num])    

return line

# Attaching 3D axis to the figure

fig = plt.figure()

ax = p3.Axes3D(fig)

# Plot cost surface

X = np.arange(-0.5, 1, 0.1)
Y = np.arange(-1, 1, 0.1)
X, Y = np.meshgrid(X, Y)
Z = cost_function((X, Y))

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.coolwarm, linewidth=0, antialiased=False)

# Optimize

data = gen_line()

# Creating line objects

# NOTE: Can't pass empty arrays into 3d version of plot()

line = ax.plot(data[0, 0:1], data[0, 0:1], data[0, 0:1], 'rx-', linewidth=2)[0]

# Setting the axes propertiesax.view_init(30, -160)

ax.set_xlim3d([-1.0, 1.0])
ax.set_xlabel('X')

ax.set_ylim3d([-1.0, 1.0])
ax.set_ylabel('Y')

ax.set_zlim3d([0.0, 2.0])
ax.set_zlabel('Z')

# Creating the Animation object

line_ani = animation.FuncAnimation(fig, update_line, nb_steps+1, fargs=(data, line), \

   interval=200, blit=False)

# line_ani.save('gradient_descent.gif', dpi=80, writer='imagemagick')

plt.show()

mark

演示了梯度下降的示例。

TensorFlow-mnist-tutorial的代碼示例

代碼下載地址:

https://github.com/martin-gorner/tensorflow-mnist-tutorial

注意錯誤:

ImportError: No module named 'tensorflowvisu'

是因為這個tensorflowvisu.py的文件得位於同一級目錄。

mark

mark

可以看到精度在不斷上升。損失在不斷降低。可以看到他訓練了哪些數字。

weights,權重。Biases,偏差。 測試的手寫數字。

這個例子是用TensorFlow結合Matplotlib來繪製一個實時的動圖。

原文連結:https://www.jianshu.com/p/945dfcda4f28


查閱更為簡潔方便的分類文章以及最新的課程、產品信息,請移步至全新呈現的「LeadAI學院官網」:

www.leadai.org


請關注人工智慧LeadAI公眾號,查看更多專業文章

大家都在看

相關焦點

  • 基於TensorFlow的深度學習實戰
    為了將環境建在 ~/tensorflow 目錄下, 執行:$ virtualenv --system-site-packages ~/tensorflow接下來激活virtualenv:$ source ~/tensorflow/bin/activate #  with bash $ source ~/tensorflow/bin/activate.csh
  • 【AI實戰】基礎環境搭建(Ubuntu+conda+tensorflow+GPU+PyCharm)
    下面將介紹基礎環境的搭建配置過程:1、安裝Ubuntu 18.04 另外,使用Anaconda還能創建虛擬環境,這樣就能很方便地在同個電腦上使用Python 2.x、Python 3.x,tensorflow-cpu、tensorflow-gpu,相互之間不受影響,非常方便。
  • Tensorflow基礎知識介紹(一)
    一、Tensorflow導入我們的代碼主要是針對Tensorflow 1.x版本的環境,在Tensorflow 2.x下有部分代碼無法正常運行,因此若是Tensorflow 1.x版本,只需簡單使用import tensorflow as tf即可,而對於2.x版本的Tensorflow,我們可以將運行環境轉換為1.x,並disable 2
  • 安裝tensorflow
    要學習AI,作者認為要分三步走:第一步,學會python,第二部,了解算法,第三步,學會tensorflow.           第一步,這個就是基礎知識了。其實不光是AI,我們做IC行業,也有很多用途。       有什麼用途呢?
  • TensorFlow2.0學習筆記
    計算輸出值和損失值二、附錄:代碼實現TensorFlow2.0筆記4:TensorFlow2.0的基礎操作!文章目錄一. 數據容器二. What's tensor三. Tensor 類型四. 創建 tensor五. Tensor 屬性六.
  • 【從零到一】TensorFlow學習資源匯總
    tensorflow有所幫助。網上教程(推薦)官網:https://www.tensorflow.org/GitHub官網:https://github.com/tensorflow/tensorflow英文論壇:https://medium.com
  • Tensorflow Object Detection API 終於支持tensorflow1.x與tensorflow2.x了
    基於tensorflow框架構建的快速對象檢測模型構建、訓練、部署框架,是針對計算機視覺領域對象檢測任務的深度學習框架。之前tensorflow2.x一直不支持該框架,最近Tensorflow Object Detection API框架最近更新了,同時支持tensorflow1.x與tensorflow2.x。
  • 使用TensorFlow的經驗分享
    目前下載的Anaconda自帶python為3.8,通過conda下載tensorflow2.3.0後可能無法使用gpu訓練,除非自己使用pip下載tensorflow與CUDA,建議虛環境使用python3.7,tensorflow使用tensorflow2.1.0。3.
  • TensorFlow Lite 轉換器中的 TensorFlow 算子融合
    >https://colab.sandbox.google.com/github/tensorflow/tensorflow/blob/master/tensorflow/lite/examples/experimental_new_converter/Keras_LSTM_fusion_Codelab.ipynb此外,我們通過提供連接至基礎架構轉換的便捷接口,實現了到其他任意 TensorFlow
  • TensorFlow 中文資源全集,學習路徑推薦
    實戰項目,根據自己的需求進行開發。/GitHub:https://github.com/tensorflow安裝教程中文安裝教程Mac安裝:http://www.cnblogs.com/tensorflownews/p/7298646.htmlubuntu 16.04 安裝 tensorflow-gpu:http://www.tensorflownews.com/2017/09/02/tensorflow-gpu-install-ubuntu
  • 機器學習tensorflow簡介
    神經網絡方面,對於程式設計師,開源項目是一個選擇,而開源項目中,tensorflow,是一個好的選擇。本文簡單介紹tensorflow的使用。先來看下百度百科對tensorflow的介紹:TensorFlow是谷歌基於DistBelief進行研發的第二代人工智慧學習系統,其命名來源於本身的運行原理。
  • 可能是史上最全的Tensorflow學習資源匯總
    的安裝、Tensorflow的語法、基本操作、CNN的一些原理和項目實戰等。本篇文章將為大家總結Tensorflow純乾貨學習資源,非常適合新手學習,建議大家收藏。想要學習更多的Tensorflow知識,歡迎點擊上方藍字,關注我們的微信公眾號。
  • tensorflow極速入門
    首先是一些基礎概念,包括計算圖,graph 與 session,基礎數據結構,Variable,placeholder 與 feed_dict 以及使用它們時需要注意的點。最後給出了在 tensorflow 中建立一個機器學習模型步驟,並用一個手寫數字識別的例子進行演示。1、 tensorflow是什麼?
  • TensorFlow 安裝手冊 — 使用 pip 安裝 TensorFlow
    Python 2.7 GPU supporthttps://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.11.0-cp27-none-linux_x86_64.whlPython 3.4 CPU-onlyhttps://storage.googleapis.com/tensorflow
  • Tensorflow + PyCharm
    :# Python 2.7 $ conda create -n tensorflow python=2.7 # Python 3.4 $ conda create -n tensorflow python=3.4激活激活tensorflow環境,然後使用其中的 pip 安裝 TensorFlow.
  • Tensorflow 安裝
    (0.12) 剛剛做了更新, 繞過了複雜的安裝步驟, 如果你只需要安裝 CPU 版本的 Tensorflow, 運行下面這個就好了:# python 2+ 的用戶:$ pip install tensorflow# python 3+ 的用戶:$ pip3 install tensorflow注意: 你需要8.1或更高版的 pip 才能順利安裝.
  • tensorflow的安裝
    創建名為tensorflow的環境,同時安裝python,在 Prompt 中輸入:conda create --name tensorflow python=3.6;有選擇的時候選擇y;3. 在 Prompt 中輸入:activate tensorflow 激活tensorflow環境。
  • Tensorflow-keras實戰(一)
    目錄理論部分1.Tensorflow-keras簡介2.分類問題、回歸問題、損失函數3.神經網絡、激活函數、批歸一化、Dropout4
  • Anaconda軟體安裝TensorFlow教程
    Anaconda軟體的安裝,請閱讀文章《Anaconda軟體安裝和簡易使用教程》第一步:創建r-tensorflow環境打開Anaconda Prompt,執行命令conda create --name r-tensorflow python=3.6該命令用來創建r-tensorflow虛擬環境
  • 【TensorFlow】筆記:基礎知識-變量
    創建變量import tensorflow as tfmy_tensor = tf.constant([[1.0, 2.0], [3.0, 4.0]])my_variable = tf.Variable(my_tensor)變量可以是各種類型,就像張量一樣bool_variable