Theano 中文文档 0.9 - 7.1.2 NumPy新手
7.1.2 NumPy新手
譯者:Python 文檔協(xié)作翻譯小組,原文:NumPy refresher。
本文以 CC BY-NC-SA 4.0 協(xié)議發(fā)布,轉載請保留作者署名和文章出處。
Python 文檔協(xié)作翻譯小組人手緊缺,有興趣的朋友可以加入我們,完全公益性質。交流群:467338606。
這里有一些NumPy的快速指南:
- Matlab用戶快速指南
- Numpy用戶指南
- 更詳細的Numpy教程
- 100 NumPy練習
- Numpy教程
機器學習的矩陣慣例
行是水平的,列是垂直的。每一行都是一個樣本。因此,inputs[10,5]是10個樣本的矩陣,其中每個樣本具有維度5。如果這是神經(jīng)網(wǎng)絡的輸入,則從輸入到第一個隱藏層的權重將表示大小(5, #hid)的矩陣。
考慮這個數(shù)組:
>>> numpy.asarray([[1., 2], [3, 4], [5, 6]]) array([[ 1., 2.],[ 3., 4.],[ 5., 6.]]) >>> numpy.asarray([[1., 2], [3, 4], [5, 6]]).shape (3, 2)這是3×2矩陣,即有3行和2列。
要訪問第3行(#2行)和第1列(#0列)中的元素:
>>> numpy.asarray([[1., 2], [3, 4], [5, 6]])[2, 0] 5.0要記住這一點,我們從左到右、從上到下讀取,所以連續(xù)的元素是一行。也就是說,有3行和2列。
Broadcasting
Numpy在算術運算期間對不同形狀的數(shù)組進行broadcasting。這通常意味著較小的數(shù)組(或標量)被broadcasted到較大的數(shù)組,以讓它們具有兼容的形狀。下面的示例演示broadcastaing的一個實例:
>>> a = numpy.asarray([1.0, 2.0, 3.0]) >>> b = 2.0 >>> a * b array([ 2., 4., 6.])在這種情況下,這里較小的數(shù)組b(實際上是標量,其工作原理類似于一個0維數(shù)組)在乘法過程中被broadcasted到與a相同的大小。這個技巧通常用于簡化表達式的寫法。有關broadcasting的更多詳情,請參見numpy用戶指南。
總結
以上是生活随笔為你收集整理的Theano 中文文档 0.9 - 7.1.2 NumPy新手的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac下Git项目使用的.gitigno
- 下一篇: HashMap 排序