原教程**資料集csv
此處使用numpy來匯入,除此之外還可以使用csv和pandas匯入
資料集鏈結
np.loadtxt()用法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
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)
# 歸一化
(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 與...