官术网_书友最值得收藏!

4.1 Tensor對象及其運算

Tensor對象是一個維度任意的矩陣,但Tensor中所有元素的數據類型必須一致。Torch包含的數據類型與普通編程語言的數據類型類似,包含浮點型、有符號整型和無符號整型,這些類型既可以定義在CPU上,也可以定義在GPU上。在使用Tensor數據類型時,可通過dtype屬性指定數據類型,通過device指定設備(CPU或者GPU)。

通過device指定在GPU上定義變量后,可在終端通過nvidia-smi命令查看顯存占用。同時Torch還支持在CPU和GPU之間復制變量。

對Tensor執行算術運算符的運算時,是兩個矩陣對應元素的運算。torch.mm執行矩陣乘法計算。

此外,還有一些具有特定功能的函數,如torch.clamp起的是分段函數的作用,可用于去掉矩陣中過小或者過大的元素;torch.round可以將小數部分化整;torch.tanh用來計算雙曲正切函數,該函數可以將數值映射到(0,1)之間。

除了直接從ndarray或list類型的數據中創建Tensor外,PyTorch還提供了一些函數可直接創建數據(這類函數往往需要提供矩陣的維度)。torch.arange與Python內置的range的使用方法基本相同,其第3個參數是步長。torch.linspace第3個參數指定返回的個數,torch.ones返回全1矩陣、torch.zeros返回全0矩陣。

torch.rand返回[0,1]之間均勻分布采樣的元素所組成的矩陣,torch.randn返回從正態分布采樣的元素所組成的矩陣。torch.randint返回指定區間均勻分布采樣的隨機整數所生成的矩陣。

主站蜘蛛池模板: 舟山市| 永定县| 贵阳市| 新乡市| 专栏| 南丰县| 依安县| 临漳县| 得荣县| 夏津县| 梓潼县| 祁阳县| 阳城县| 萨迦县| 渝中区| 江安县| 重庆市| 永济市| 华容县| 崇礼县| 龙山县| 英山县| 呼和浩特市| 潼南县| 交城县| 淮北市| 邹城市| 蚌埠市| 吉隆县| 竹山县| 莱芜市| 梨树县| 始兴县| 高密市| 邵武市| 壶关县| 酒泉市| 四川省| 英吉沙县| 丁青县| 长丰县|