PyTorch入門筆記

2021-10-14 01:23:08 字數 2515 閱讀 3342

原教程**資料集csv

此處使用numpy來匯入,除此之外還可以使用csv和pandas匯入

資料集鏈結

import csv

import numpy as np

wine_path =

"../../data/chapter3/winequality-white.csv"

# 路徑

wineq_numpy = np.loadtxt(wine_path, dtype=np.float32, delimiter=

";",

skiprows=1)

wineq_numpy #輸出演示

# 檢查

col_list =

next

(csv.reader(

open

(wine_path)

, delimiter=

';')

)# 取檔案第一行

wineq_numpy.shape, col_list # 檢查是否讀取全部資料

# 將numpy陣列轉化為torch張量

import torch

wineq = torch.from_numpy(wineq_numpy)

wineq.shape, wineq.

type()

# 拆分data和targtet

data = wineq[:,

:-1]

# 除最後一列外所有列,索引用法見原教程2.5

data, data.shape

target = wineq[:,

-1]# 最後一列

target, target.shape

# 標籤轉化為整數,一般標籤有實際比較意義如評分時使用,適用於本資料集

target = wineq[:,

-1].

long()

# 標籤獨熱編碼,一般標籤無實際意義,僅作分類時使用

target_onehot = torch.zeros(target.shape[0]

,10)target_onehot.scatter_(

1, target.unsqueeze(1)

,1.0

)# 函式下劃線結尾指就地修改張量,不返回新的張量

# unsqueeze(1)方法可提供乙個額外的維度,具體見原文

# 獲取每一列均值和標準差

data_mean = torch.mean(data, dim=0)

data_mean

data_var = torch.var(data, dim=0)

data_var

# 歸一化

data_normalized =

(data - data_mean)

/ torch.sqrt(data_var)

data_normalized

np.loadtxt()用法

next()用法

原文中有閾值**的示例,此處不做介紹

檔案式**

'''

輸出歸一化屬性資料和標籤

'''import csv

import torch as t

import numpy as np

datapath = r'database/winequality-white.csv'

inidat_numpy = np.loadtxt(datapath, dtype=np.float32, delimiter=

';', skiprows=1)

col_list =

next

(csv.reader(

open

(datapath)

, delimiter=

';')

)# 每一列屬性名稱

inidat = t.from_numpy(inidat_numpy)

data = inidat[:,

:-1]

# 取最後一列外的張量做屬性資料

target = inidat[:,

-1]# 取最後一列做標籤

target = target.

long()

# 整數化標籤

# target = t.zeros(target.shape[0], 10).scatter(1, target.unsqueeze(1), 1.0) # 對標籤進行one-hot編碼

data_mean = t.mean(data, dim=0)

# 求均值

data_var = t.var(data, dim=0)

# 求方差

data_normalized =

(data - data_mean)

/ t.sqrt(data_var)

# 歸一化

print

(data_normalized,

'\n'

, target)

文字資料

文字資料:傲慢與偏見

影象資料

pytorch入門 函式用法筆記

class torchvision.transforms.compose transforms 將多個transform組合起來使用。可以將以上 中的 torchvision.transforms.compose 類看作一種容器 它能夠同時對多種資料變換進行組合 傳入的引數是乙個列表,列表中的元素就...

Pytorch入門 安裝

pytorch目前支援的平台有linux和osx,在pytorch官網上每種平台提供了conda pip source三種安裝方式,同時也可以根據有無gpu進行cuda安裝,在這裡以ubuntu14.04進行安裝學習。1.anaconda安裝配置 安裝過程參考我之前的anaconda tensorf...

PyTorch快速入門

詳細的pytorch教程可以去pytorch官網的學習指南進一步學習,下面主要對pytorch做簡單的介紹,能夠快速入門。首先pytorch是基於python的科學計算類庫,主要有以下兩個方面的應用 作為numpy的替代者,充分利用gpu的計算能力。提供乙個靈活 快速的深度學習平台。tensor 與...