diskgeniusv4.4.0_入门TensorFlow2.0
今天老師帶領我們入門TensorFlow2.0。至于tensorflow2.0是啥嘛,詳細的可以度娘一下。我簡述一下,就是一個end-to-end machine-Learning open source plantform(端對端的開源機器學習的平臺)。學習tensorflow需要引入tensor這個概念,tensor的漢語意思就是張量。張量是數學和力學的概念,是矢量的延伸,矢量是一階張量,至于張量具體是什么大家感興趣就度娘吧,我也不是專業的數學研究人員不很懂。tensorflow1.0引入了deferred execution(延遲執行)機制,在構建階段是不執行計算操作的,因此稱為靜態圖,要想執行計算操作,需要創建Session()對象才可以執行計算操作。而在tensorflow2.0里引入了默認執行eager execution機制,無需首先創建靜態圖,可以立刻執行計算操作,并返回結果,不像1.0那樣需要創建Session對象。但是動態圖執行效率不高,不利于后期調試。但是可以在程序調試階段使用動態圖,快速建立模型、調試程序;在部署階段,采用靜態圖機制,從而提高模型的性能和部署能力。tensorflow2.0清理和整合API,將tf.keras作為構建和訓練模型的標準API。
機器學習
安裝tensorflow這個老生常談了。
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple我們來簡單入門講講tensorflow。它可以運行在GPU、CPU、嵌入式等等平臺。你可以理解為是對numpy的二次封裝,對numpy進行加速運算。numpy只能在CPU里計算,而tensorFlow可以在CPU、GPU、TPU里計算。當tensorflow與numpy一起在CPU里計算時,它們共享同一段內存。
它的基本運算是張量,張量是由Tensor實現,每個張量都是一個Tensor對象??梢允褂胻f.constant() 函數來創建張量。代碼如下:
import tensorflow as tfa = tf.constant([[1,2],[3,4]])print(a)dtype:全稱是digital type漢語意思就是數字類型。這就創建了一個二維張量。
運行結果就是:
tf.Tensor([[1 2] [3 4]], shape=(2, 2), dtype=int32)張量還可以使用Numpy方法,代碼如下:
a = tf.constant([[1,2],[3,4]])print(a.numpy)print(type(a))那么運行結果就是:
>使用numpy方式生成張量時需要注意以下幾點:numpy方法創建張量 使用np創建浮點數組時默認64位,而tensorflow默認時float32,但是tensorflow接受時自動轉為64位浮點。一般建議使用np創建數組時建議為float32位足以使用。但是不建議低精度兼容高精度,因為會溢出。比如int32去兼容int64可能會存在溢出。
Python
它的內置API非常多:
還可以使用字典式訪問tensor對象屬性,依次取出ndim、shape、dtype屬性,代碼如下:
atfc = tf.constant([[3,5],[7,0]])print('ndim:',atfc.ndim)print('shape:',atfc.shape)print('dtype:',atfc.dtype)總結一下:tensorflow所有的運算都是在張量之間運行的。而numpy只是作為input和output使用的。我只是列舉了常用的API,大家有興趣的可以嘗試嘗試。
我始終保持開放的態度學習python,大佬可以批評指正。python之路漫漫,吾將上下而求索。
總結
以上是生活随笔為你收集整理的diskgeniusv4.4.0_入门TensorFlow2.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 安装系统 逻辑卷,Linux
- 下一篇: sql怎么撤回update_腾讯SQL“