Theano學習系列(1) 符號變數

2021-07-09 16:26:03 字數 1753 閱讀 6326

這段時間通過學習theano的library documentation,

(),總結出使用theano去實現乙個具體的演算法一般需要以下幾個步驟:(1)定義符號變數;(2)建立起來符號表示式;(3)建立起來圖連線關係也就是function函式實現的;(4)呼叫function實現一定的功能,也就是完成編譯呼叫。在本節裡面重點講述theano符號變數這乙個資料型別的基本知識。

theano中所有符號變數**於乙個基類:tensorvariable(),也就是說這些符號變數的實際上都是這個類的例項化,而這些符號變數的本身的資料型別,通過例項化給定,通過訪問物件屬性得到object.type,這些在theano的tensor模組中,下面給出常見的語法模式以及常見的資料型別:

一般格式:import  theano

import  theano.tensor as t

x=t.符號變數型別(name='這個變數的名字',dtype=『該例項化的符號變數的資料型別』)

note:有人嘗試這麼去定義符號變數出現以下錯誤:

第一眼看上去好像並沒有啥錯誤,其實這是對於python基本功太差的表現,也是乙個細節問題,因為「theano.config.floatx」在這個情況下並沒有匯入,所以一般情況下,記住,先import  theano,在import  theano.tensor as t。下面貼出來常見的符號型別,以及符號變數的資料型別。

第一欄裡面是符號變數的型別,第二欄是符號變數的資料型別,有意思的是最後一欄broadcastable屬性,實際上numpy一樣,它是完成不同shape的矩陣之間的運算的,其實咱們一直在用,只不過沒有明確提出來而已,下面通過對比看看numpy和theano中broastcastable:

正常來說a和b的shape不一樣,不能參加運算,正式因為這個broadcastable,讓他們可以計算了。

大家可以看到在theano中的符號變數也有這樣的概念,這對於之後計算很有用的。這裡有關於function函式的用法,在之後會詳細說明。

在theano中一次定義幾個同型別的符號變數,用法也簡單,下面簡單看看。

Theano深度學習系列1

最近將英文原版書籍 python for data analysis 看完,也將 scikit learn cookbook 例子實現完,對基本的機器學習有一定的了解,下面來學習強大的python深度學習庫theano以及keras。import numpy import theano import...

theano學習之Shared變數

shared 變數,意思是這些變數可以在運算過程中,不停地進行交換和更新值。在定義weights 和 bias的情況下,會需要用到這樣的變數。import numpy as np import theano import theano.tensor as t shared是用來存放變數的,會不斷更新...

theano學習筆記 1 代數

theano教程 usr bin env python coding utf 8 from theano import function import theano.tensor as t 第1步 定義兩個變數及其型別 x t.dscalar x 雙精度浮點型的0 維陣列 也就是標量 y t.dsc...