Pytorch學習筆記

2021-10-18 08:51:22 字數 2081 閱讀 5727

import torch

import numpy as np

#一維張量索引

t1 = torch.arange(1,

11)print

(t1[0]

.item())

#注:張量索引出來的結果還是零維張量, 而不是單獨的數。要轉化成單獨的數,需要使用item()方法。

t1[1:8

]#冒號分隔,表示對某個區域進行索引,也就是所謂的切片

t1[1:8

:2]# 索引其中2-9號元素,左包含右不包含,且隔兩個數取乙個

t1[1::

2]# 從第二個元素開始索引,一直到結尾,並且每隔兩個數取乙個

t1[:8:

2]# 從第乙個元素開始索引到第9個元素(不包含),並且每隔兩個數取乙個

t2 = torch.arange(1, 10).reshape(3, 3)

t2[0, 1] # 表示索引第一行、第二個(第二列的)元素

t2[0, ::2] # 表示索引第一行、每隔兩個元素取乙個

t2[0, [0, 2]] # 索引結果同上

t2[::2, ::2] # 表示每隔兩行取一行、並且每一行中每隔兩個元素取乙個

t2[[0, 2], 1] # 索引第一行、第三行、第二列的元素

t3 = torch.arange(1, 28).reshape(3, 3, 3)

t3[1, 1, 1] # 索引第二個矩陣中,第二行、第二個元素

t3[1, ::2, ::2] # 索引第二個矩陣,行和列都是每隔兩個取乙個

t3[:: 2, :: 2, :: 2] # 每隔兩個取乙個矩陣,對於每個矩陣來說,行和列都是每隔兩個取乙個

indices = torch.tensor([1

,2])

torch.index_select(t1,

0, indices)

#在index_select函式中,第二個引數實際上代表的是索引的維度。對於t1這個一維向量來說,由於只有乙個維度,因此第二個引數取值為0,就代表在第乙個維度上進行索引

t = torch.arange(6)

.reshape(2,

3)te = t.view(3,

2)# 構建乙個資料相同,但形狀不同的「檢視」

#pytorch中的.view()方法。該方法會返回乙個類似檢視的結果,該結果和原張量物件共享一塊資料儲存空間,並且通過.view()方法,還可以改變物件結構,生成乙個不同結構,但共享乙個儲存空間的張量。當然,共享乙個儲存空間,也就代表二者是「淺拷貝」的關係,修改其中乙個,另乙個也會同步進行更改。

張量的分片函式

t2 = torch.arange(12)

.reshape(4,

3)tc = torch.chunk(t2,

4, dim=0)

# 在第零個維度上(按行),進行四等分

#out

#(tensor([[0, 1, 2]]),

# tensor([[3, 4, 5]]),

# tensor([[6, 7, 8]]),

# tensor([[ 9, 10, 11]]))

torch.split(t2,2,

0)# 第二個引數只輸入乙個數值時表示均分,第三個引數表示切分的維度

torch.split(t2,[1

,3],

0)# 第二個引數輸入乙個序列時,表示按照序列數值進行切分,也就是1/3分

torch.split(t2,[1

,1,1

,1],

0)

torch.cat(

[a, b]

)# 按照行進行拼接,dim預設取值為0

torch.cat(

[a, b],1

)# 按照列進行拼接

Pytorch 學習筆記

本渣的pytorch 逐步學習鞏固經歷,希望各位大佬指正,寫這個部落格也為了鞏固下記憶。a a b c 表示從 a 取到 b 步長為 c c 2 則表示每2個數取1個 若為a 1 1 1 即表示從倒數最後乙個到正數第 1 個 最後乙個 1 表示倒著取 如下 陣列的第乙個為 0 啊,第 0 個!彆扭 ...

Pytorch學習筆記

資料集 penn fudan資料集 在學習pytorch官網教程時,作者對penn fudan資料集進行了定義,並且在自定義的資料集上實現了對r cnn模型的微調。此篇筆記簡單總結一下pytorch如何實現定義自己的資料集 資料集必須繼承torch.utils.data.dataset類,並且實現 ...

Pytorch學習筆記

lesson 1.張量 tensor 的建立和常用方法 一 張量 tensor 的基本建立及其型別 import torch 匯入pytorch包 import numpy as np torch.version 檢視版本號1.張量 tensor 函式建立方法 張量 tensor 函式建立方法 t ...