亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

tensorflow的Eager execution怎么創建

發布時間:2021-12-16 09:40:51 來源:億速云 閱讀:172 作者:iii 欄目:編程語言

這篇文章主要介紹“tensorflow的Eager execution怎么創建”,在日常操作中,相信很多人在tensorflow的Eager execution怎么創建問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”tensorflow的Eager execution怎么創建”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

  一、開始學習 TensorFlow 最簡單的方法是使用 Eager Execution,官方提供的教程為Colab notebook,打不開需要梯子,參考其他的吧,比如這個:tensorflow之Eager execution基礎

  從tensorflow之Eager execution基礎中,我了解到:

  啥是Eager Execution?

  「Eager Execution」,它是一個命令式、由運行定義的接口,一旦從 Python 被調用,其操作立即被執行。

  這使得入門 TensorFlow 變的更簡單,也使研發更直觀。

  Eager Execution 有啥優點?

  1、快速調試即刻的運行錯誤并通過 Python 工具進行整合

  2、借助易于使用的 Python 控制流支持動態模型

  3、為自定義和高階梯度提供強大支持

  4、適用于幾乎所有可用的 TensorFlow 運算

  啥是張量?

  張量是一個多維數組。與NumPy ndarray對象類似,Tensor對象具有數據類型和形狀。

  此外,Tensors可以駐留在加速器(如GPU)內存中。

  TensorFlow提供了豐富的操作庫(tf.add,tf.matmul,tf.linalg.inv等),

  它們使用和生成Tensors。這些操作自動轉換本機Python類型。

  張量的基本創建與使用

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

  """

  @File : 191206_test_Eager_execution.py

  @Time : 2019/12/6 11:11

  @Author : Dontla

  @Email : sxana@qq.com

  @Software: PyCharm

  """

  # 導入tensorflow

  import tensorflow as tf

  tf.enable_eager_execution()

  # 創建和使用張量

  print(tf.add(1,2)) # tf.Tensor(3, shape=(), dtype=int32)

  print(tf.add([1, 2], [3, 4])) # tf.Tensor([4 6], shape=(2,), dtype=int32)

  print(tf.square(5)) # tf.Tensor(25, shape=(), dtype=int32)

  print(tf.reduce_sum([1, 2, 3])) # tf.Tensor(6, shape=(), dtype=int32)

  print(tf.encode_base64("hello world")) # tf.Tensor(b'aGVsbG8gd29ybGQ', shape=(), dtype=string)

  print(tf.square(2) + tf.square(3)) # tf.Tensor(13, shape=(), dtype=int32)

  x = tf.matmul([[1]], [[2, 3]])

  print(x) # tf.Tensor([[2 3]], shape=(1, 2), dtype=int32)

  print(x.shape) # (1, 2)

  print(x.dtype) #

  張量的屬性

  每個Tensor都有一個形狀和數據類型

  x = tf.matmul([[1]], [[2, 3]])

  print(x.shape)

  print(x.dtype)

  NumPy array和TensorFlow張量之間最明顯的區別

  張量可以由加速器內存(如GPU,TPU)支持。

  張量是不可改變的。

  TensorFlow張量和NumPy nararrays之間的轉換

  TensorFlow操作自動將NumPy ndarrays轉換為Tensors。

  NumPy操作自動將Tensors轉換為NumPy ndarrays。

  通過在Tensors上調用.numpy()方法,可以將張量顯式轉換為NumPy ndarrays。這些轉換通常很容易,因為如果可能,數組和Tensor共享底層內存表示。但是,共享底層表示并不總是可行的,因為Tensor可能托管在GPU內存中,而NumPy陣列總是由主機內存支持,因此轉換將涉及從GPU到主機內存的復制。

  import tensorflow as tf

  import numpy as np

  tf.enable_eager_execution()

  ndarray = np.ones([3, 3])

  print(ndarray)

  # [[1. 1. 1.]

  # [1. 1. 1.]

  print("TensorFlow operations convert numpy arrays to Tensors automatically")

  tensor = tf.multiply(ndarray, 42)

  print(tensor)

  # tf.Tensor(

  # [[42. 42. 42.]

  # [42. 42. 42.]

  # [42. 42. 42.]], shape=(3, 3), dtype=float64)

  print("And NumPy operations convert Tensors to numpy arrays automatically")

  print(np.add(tensor, 1))

  # [[43. 43. 43.]

  # [43. 43. 43.]

  # [43. 43. 43.]]

  print("The .numpy() method explicitly converts a Tensor to a numpy array")

  print(tensor.numpy())

  # [[42. 42. 42.]

  # [42. 42. 42.]

  # [42. 42. 42.]]

  二、GPU加速

  通過使用GPU進行計算,可以加速許多TensorFlow操作。在沒有任何注釋的情況下,TensorFlow會自動決定是使用GPU還是CPU進行操作(如有必要,還可以復制CPU和GPU內存之間的張量)。由操作產生的張量通常由執行操作的設備的存儲器支持。例如:

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

  """

  @File : 191208_test_Eager_execution_once_cls.py

  @Time : 2019/12/8 12:25

  @Author : Dontla

  @Email : sxana@qq.com

  @Software: PyCharm

  """

  import tensorflow as tf

  tf.enable_eager_execution()

  x = tf.random_uniform([3, 3])

  print("Is there a GPU available: ")

  print(tf.test.is_gpu_available()) # True

  print("Is the Tensor on GPU #0: "),

  print(x.device) # /job:localhost/replica:0/task:0/device:GPU:0

  print(x.device.endswith('GPU:0')) # True

  (1)設備名稱

  Tensor.device屬性提供托管Tensor內容的設備的完全限定字符串名稱。此名稱對一組詳細信息進行編碼,例如,正在執行此程序的主機的網絡地址的標識符以及該主機中的設備。這是分布式執行TensorFlow程序所必需的,但我們暫時不會這樣做。如果張量位于主機上的第N個張量上,則字符串將以GPU:結尾。

  (2)顯示設備配置

  TensorFlow中的術語“placement"指的是如何為執行設備分配(放置)各個操作。如上所述,當沒有提供明確的指導時,TensorFlow會自動決定執行操作的設備,并在需要時將Tensors復制到該設備。但是,可以使用tf.device上下文管理器將TensorFlow操作顯式放置在特定設備上。

到此,關于“tensorflow的Eager execution怎么創建”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

慈利县| 桂东县| 建平县| 红安县| 宣城市| 曲阜市| 祁东县| 金寨县| 宣恩县| 湾仔区| 九江市| 区。| 五寨县| 射洪县| 武夷山市| 青河县| 崇仁县| 驻马店市| 徐汇区| 兴安县| 苍溪县| 宁强县| 新宾| 广昌县| 三明市| 赣州市| 缙云县| 光泽县| 阳城县| 岫岩| 邵阳县| 海林市| 民勤县| 普宁市| 霍邱县| 高雄县| 溆浦县| 定兴县| 平顶山市| 伊宁县| 当涂县|