日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

【theano-windows】学习笔记一——theano中的变量

發布時間:2023/12/13 windows 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【theano-windows】学习笔记一——theano中的变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

因為目前需要搭建一些關于RBM或者其他之類的模型,感覺不太會折騰caffe,然而我發現了幾個有趣網址,使用theano實現了各種各樣的模型,所以,嘗試學一下theano。主要以官方教程為主,所以博客會以譯文的方式公布,當然會有自己的一些小見解或者擴展,編程環境為win7+jupyter notebook,如若有誤,謝謝指正

國際慣例,網址帖一波:

【PTVS+Theano+CPU/GPU】在windows下使用VS安裝theano深度學習工具

theano官方文檔

theano搭建各種模型,包含RBM,CNN,RNN,AE等

python基礎教程
theano中文翻譯

基本數據類型定義及操作

因為theano的變量定義模塊基本都存在theano.tensor中,所以我們先引入theano及其此模塊

import theano import theano.tensor as T

標量定義和操作

首先定義theano類型的兩個標量,有兩種方法:

  • 單獨為每一個標量定義

    x=T.dscalar('x') y=T.dscalar('y')
  • 或者一次性定義多個

    x,y=T.dscalars('x','y')
  • 然后定義兩個標量之間的操作,并將它轉換為theano可執行的函數

    轉換方法是theano.function(),具體如下

    z=x+y f=theano.function([x,y],z)

    可以發現function函數接受兩個輸入參數,第一個代表這個函數執行定義的功能所需要的輸入信息,第二個代表這個函數提供的輸出。這兩個參數都可以是一個值或者一個列表,f就相當于python中def定義的函數。

    執行此函數看看,提供一個列表輸入,和一個值輸出

    print f(1,2)#3.0

    可以發現theano的dscalar數據類型是double,只不過用type輸出來是float64

  • 另一種不使用function的方法叫eval,但是沒function靈活,實現同樣的功能方法如下

    print z.eval({x:2,y:3})#5.0

    它是將一個字典作為輸入變量,然后返回表達式數值結果。第一次使用eval()會很慢,因為后臺需要使用function()編譯表達式,但是后面相同的變量調用eval()就快了,因為編譯好的函數已經緩存了此變量

向量的定義和操作

  • 兩種定義方法

    #x,y=T.dvectors('x','y')x=T.dvector('x') y=T.dvector('y')
  • 賦值,運算

    import numpy as np z=x+y f=theano.function([x,y],z) x1=np.array([1,2,3]) y1=np.array([4,5,6]) print f(x1,y1)#[ 5. 7. 9.]

矩陣的賦值和運算

  • 兩種定義方法

    # x=T.dmatrix('x')# y=T.dmatrix('y')x,y=T.dmatrices('x','y')
  • 賦值,運算

    z=x+y f=theano.function([x,y],z) x2=np.array([[1,2,3],[4,5,6]]) y2=np.array([[1,4,7],[2,5,8]]) print f(x2,y2) ''' [[ 2. 6. 10.] [ 6. 10. 14.]] '''

其它數據類型和操作

數據類型

上面講的只有dscalar,’dvector’,’dmatrix’,但是theano還提供了許多其它精度的變量類型

byte: bscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4, btensor5 16-bit integers: wscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4, wtensor5 32-bit integers: iscalar, ivector, imatrix, irow, icol, itensor3, itensor4, itensor5 64-bit integers: lscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4, ltensor5 float: fscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4, ftensor5 double: dscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4, dtensor5 complex: cscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4, ctensor5

其它與numpy兼容的類型可以查詢這里:tensor creation

變量操作

上面講的都是標量、向量、矩陣各自之間的操作,theano還支持標量+矩陣, 向量+矩陣, 標量+向量之類的操作,詳細查詢: broadcasting

隨便拿幾個作為實例看看:

  • dot函數,如果輸入是二維矩陣,那么就進行二維矩陣的乘法運算。如果輸入的是一維向量,就進行向量間的點乘計算(不包含共軛復數),例子:

    import theano import theano.tensor as T import numpy as np#x,y=T.dvectors('x','y')x=T.dvector('x') y=T.dvector('y') z1=T.dot(x,y) f=theano.function([x,y],z1) x1=np.array([1,2,3]) y1=np.array([4,5,6]) print f(x1,y1)#32.0 #dot的向量乘積#x,y=T.dvectors('x','y')x=T.dmatrix('x') y=T.dmatrix('y') z1=T.dot(x,y) f=theano.function([x,y],z1) x2=np.array([[1,2,3],[4,5,6]]) y2=np.array([[1,4],[2,5],[7,8]]) print f(x2,y2) ''' [[ 26. 38.] [ 56. 89.]] '''
  • outer函數,向量外積

    #outer 向量外積#x,y=T.dvectors('x','y')x=T.dvector('x') y=T.dvector('y') z3=T.outer(x,y) f=theano.function([x,y],z3) x1=np.array([1,2,3]) y1=np.array([4,5,6]) print f(x1,y1) ''' [[ 4. 5. 6.] [ 8. 10. 12.] [ 12. 15. 18.]] '''
  • 向量+矩陣

    x=T.dvector('x') y=T.dmatrix('y') z4=x+y f=theano.function([x,y],z4) x1=np.array([1,2,3]) y1=np.array([[4,5,6],[7,8,9]]) print f(x1,y1) ''' [[ 5. 7. 9.] [ 8. 10. 12.]] '''

官網介紹的剩下幾個函數回頭要用再慢慢補

練習

計算表達式a ** 2 + b ** 2 + 2 * a * b

標量形式

a,b=T.dscalars('a','b') c=a ** 2 + b ** 2 + 2 * a * b f=theano.function([a,b],c) print f(2,3)

向量形式

a,b=T.dvectors('a','b') c=a ** 2 + b ** 2 + 2 * a * b f=theano.function([a,b],c) print f([1,2],[4,5]) #[ 25. 49.]

所有code:鏈接: https://pan.baidu.com/s/1i4K5ULJ 密碼: 5i69

總結

以上是生活随笔為你收集整理的【theano-windows】学习笔记一——theano中的变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 7m精品福利视频导航 | 男人透女人免费视频 | 国产精品久久久久国产a级 国产一区二区在线播放 | 国产精品久久久亚洲 | 涩色网 | 色爽 av| 久热在线 | 亚洲欧美日韩偷拍 | 成年人网站在线免费观看 | 亚洲在线不卡 | 久久中文字幕人妻 | 国产精彩视频在线 | 美女屁股无遮挡 | 久久久中文字幕 | japan高清日本乱xxxxx | 成人小视频在线看 | 草草影院一区二区三区 | 成人福利影院 | 2018中文字幕在线观看 | 欧美国产精品一区二区 | 久久国产一区二区三区 | 精品日韩制服无码久久久久久 | 播色网 | 欧美人与按摩师xxxx | 美女隐私黄www网站动漫 | 91视频播放| 天天综合网久久综合网 | 91高清无打码| 国产精品96久久久久久 | 国产欧美综合视频 | 日韩av一级片 | 国产丰满农村老妇女乱 | 91www | 亚洲美女在线视频 | 精品视频导航 | 国产精品作爱 | 亚av在线| 91蜜桃网| 操操综合 | 糖心vlog精品一区二区 | 波多野结衣在线播放视频 | 欧美区亚洲区 | 日韩中文一区二区 | 在线免费国产 | 欧美夜夜爽| 2020国产精品 | 国产又粗又猛又大爽 | 精久久久久久 | 在线看不卡av | 国产一级片网站 | 黑人操少妇| 91精品国产色综合久久不卡粉嫩 | 免费看成人啪啪 | 美女色av | 日韩av电影在线播放 | 国产精品日本一区二区在线播放 | 日韩精品资源 | 亚洲大胆 | 成人久久av| 涩涩的视频在线观看 | 国产对白羞辱绿帽vk | 国产午夜精品无码 | 久久影音先锋 | 黄色一级片免费播放 | 欧美美女性视频 | 美国少妇性做爰 | 一本一道久久综合狠狠老精东影业 | 老司机深夜福利影院 | 国产熟女一区二区 | 国产在线播放一区二区三区 | 嫩草影院黄色 | 久色网| 91精品一区二区三区综合在线爱 | 国产www免费观看 | 丰满大乳露双乳呻吟 | 女女互慰揉小黄文 | 精品中文视频 | 意大利性荡欲xxxxxx | 精品一区二区在线免费观看 | 中文字字幕在线中文乱码 | 日本久久影视 | 福利视频免费 | 黄色永久免费网站 | 91视频国产精品 | 欧美日韩另类视频 | 成人免费在线视频观看 | 日韩欧美性视频 | 日韩欧美国产中文字幕 | 国产女人爽到高潮a毛片 | 色戒av | 国产人澡人澡澡澡人碰视频 | 日韩精品视频三区 | 特级淫片裸体免费看冫 | 国产精品第六页 | 欧美日韩综合视频 | 日韩欧美一级大片 | 午夜久久网| 贝利弗山的秘密在线观看 | 亚洲性综合 |