日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小白入门PyTorch | 第一篇:什么是PyTorch?

發(fā)布時(shí)間:2025/4/5 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小白入门PyTorch | 第一篇:什么是PyTorch? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是PyTorch?

這是一個(gè)基于Python的科學(xué)計(jì)算包,主要分入如下2部分:

  • 使用GPU的功能代替numpy
  • 一個(gè)深刻的學(xué)習(xí)研究平臺(tái),提供最大的靈活性和速度

開始學(xué)習(xí)

Tensors (張量)

Tensors類似于numpy的ndarrays,另外還可以在GPU上使用Tensors來加速計(jì)算。

from __future__ import print_function import torch

構(gòu)造一個(gè)5x3矩陣,不初始化。

x = torch.empty(5, 3) print(x) tensor([[1.6932e+22, 7.7144e+31, 6.7109e+22],[1.6486e+22, 4.3605e+27, 2.8929e+12],[7.5338e+28, 1.8037e+28, 3.4740e-12],[1.7743e+28, 6.8239e+16, 1.8832e+34],[1.6078e+19, 4.4721e+21, 5.0789e-11]])

構(gòu)造一個(gè)隨機(jī)初始化的矩陣:

x = torch.rand(5, 3) print(x) tensor([[0.2712, 0.3545, 0.5300],[0.0976, 0.0149, 0.8799],[0.7187, 0.7343, 0.4521],[0.4418, 0.0132, 0.2708],[0.9201, 0.0794, 0.4476]])

構(gòu)造一個(gè)矩陣全為 0,而且數(shù)據(jù)類型是 long.

x = torch.zeros(5, 3, dtype=torch.long) print(x) tensor([[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0]])

構(gòu)造一個(gè)張量,直接使用數(shù)據(jù):

x = torch.tensor([5.5, 3]) print(x) tensor([5.5000, 3.0000])

創(chuàng)建一個(gè) tensor 基于已經(jīng)存在的 tensor。

x = x.new_ones(5, 3, dtype=torch.double) print(x)x = torch.randn_like(x, dtype=torch.float) print(x) tensor([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]], dtype=torch.float64) tensor([[-1.2157, -0.6880, 0.3270],[-0.3162, -0.2479, 0.8731],[-0.3330, -0.3823, 0.5237],[-1.3132, -0.1246, 0.6706],[ 1.1174, -1.0695, 0.7972]])

獲取它的維度信息:

print(x.size()) torch.Size([5, 3])

注意

``torch.Size`` 是一個(gè)元組,所以它支持左右的元組操作。

操作

在接下來的例子中,我們將會(huì)看到加法操作。

加法: 方式 1

y = torch.rand(5, 3) print(x + y) tensor([[-0.4000, 0.0549, 1.2980],[ 0.0748, 0.5602, 1.2120],[ 0.1771, -0.1623, 1.4076],[-0.4690, 0.6656, 0.8570],[ 1.5434, -0.8243, 1.4676]])

加法: 方式2

print(torch.add(x, y)) tensor([[-0.4000, 0.0549, 1.2980],[ 0.0748, 0.5602, 1.2120],[ 0.1771, -0.1623, 1.4076],[-0.4690, 0.6656, 0.8570],[ 1.5434, -0.8243, 1.4676]])

加法: 提供一個(gè)輸出 tensor 作為參數(shù)

result = torch.empty(5, 3) torch.add(x, y, out=result) print(result) tensor([[-0.4000, 0.0549, 1.2980],[ 0.0748, 0.5602, 1.2120],[ 0.1771, -0.1623, 1.4076],[-0.4690, 0.6656, 0.8570],[ 1.5434, -0.8243, 1.4676]])

加法: in-place

# adds x to y y.add_(x) print(y) tensor([[-0.4000, 0.0549, 1.2980],[ 0.0748, 0.5602, 1.2120],[ 0.1771, -0.1623, 1.4076],[-0.4690, 0.6656, 0.8570],[ 1.5434, -0.8243, 1.4676]])

注意

任何使張量會(huì)發(fā)生變化的操作都有一個(gè)前綴 '_'。例如: ``x.copy_(y)``, ``x.t_()``, 將會(huì)改變 ``x``.

你可以使用標(biāo)準(zhǔn)的 NumPy 類似的索引操作

print(x[:, 1]) tensor([-0.6880, -0.2479, -0.3823, -0.1246, -1.0695])

改變大小:如果你想改變一個(gè) tensor 的大小或者形狀,你可以使用 torch.view

x = torch.randn(4, 4) y = x.view(16) z = x.view(-1, 8) # the size -1 is inferred from other dimensions print(x.size(), y.size(), z.size()) torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])

如果你有一個(gè)元素 tensor ,可以使用 .item() 來獲得這個(gè) tensor 的值 。

x = torch.randn(1) print(x) print(x.item()) tensor([-0.4592]) -0.4592222571372986

Numpy轉(zhuǎn)換

將Tensor轉(zhuǎn)換為numpy數(shù)組

a = torch.ones(5) print(a) tensor([1., 1., 1., 1., 1.]) b = a.numpy() print(b) [1. 1. 1. 1. 1.]

看看numpy數(shù)組的值如何變化。

a.add_(1) print(a) print(b) tensor([2., 2., 2., 2., 2.]) [2. 2. 2. 2. 2.]

將 numpy 數(shù)組轉(zhuǎn)換為Torch張量

import numpy as np a = np.ones(5) b = torch.from_numpy(a) np.add(a, 1, out=a) print(a) print(b) [2. 2. 2. 2. 2.] tensor([2., 2., 2., 2., 2.], dtype=torch.float64)

除了 CharTensor ,CPU 上的所有 Tensors 與 NumPy 都可以相互轉(zhuǎn)化

CUDA Tensors

可以通過 .to 方法將 Tensors 轉(zhuǎn)移到任何設(shè)備

# 在GPU可用時(shí)運(yùn)行 # 我們將使用 torch.device 對(duì)象將 tensors 移入、移出GPU if torch.cuda.is_available():device = torch.device("cuda") # 創(chuàng)建一共 CUDA設(shè)備對(duì)象y = torch.ones_like(x, device=device) # 在GPU上直接創(chuàng)建一個(gè) tensorx = x.to(device) # 等價(jià)于:x = x.to("cuda")z = x + yprint(z)print(z.to("cpu", torch.double)) # .to() 將同時(shí)改變數(shù)據(jù)類型 tensor([0.5408], device='cuda:0') tensor([0.5408], dtype=torch.float64) 👇🏻掃一掃下方二維碼,獲取7900+本電子書👇🏻

總結(jié)

以上是生活随笔為你收集整理的小白入门PyTorch | 第一篇:什么是PyTorch?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩经典中文字幕 | 国产精品20p | 日韩欧美三级在线观看 | 国产热视频 | 青娱乐在线免费观看 | 日本人的性生活视频 | 性色AV无码久久一区二区三 | 亚洲黄色影视 | 日韩av区 | www.白丝| 天天色天天看 | 亚洲综合色婷婷 | 日本精品一区二区三区视频 | 亚洲天堂男人的天堂 | 欧美理论片在线观看 | 欧美成人免费观看视频 | 冈本视频在线观看 | 好吊视频一二三区 | av.www| 午夜精品久久久久久久99黑人 | 欧美mv日韩mv国产 | 欧美一区二区成人 | 欧美在线一区二区三区四区 | 欧美激情综合五月色丁香 | 国产在线综合网 | 国产情侣一区二区三区 | 亚洲高清中文字幕 | 男阳茎进女阳道视频大全 | 欧美性猛交xxxx | 亚洲视频在线网 | 人妻奶水人妻系列 | 秋霞一级全黄大片 | 久久草视频 | 天天舔天天操天天干 | 好紧好爽再浪一点视频 | 99香蕉网 | 精品在线视频观看 | av男人的天堂在线观看 | 麻豆 美女 丝袜 人妻 中文 | 免费看国产黄色片 | 精品少妇v888av| 亚洲成人一区在线观看 | 蜜臀va| 女厕厕露p撒尿八个少妇 | 免费婷婷 | ass亚洲肉体欣赏pics | 日日干日日 | 中文字幕在线播放视频 | 在线观看免费视频 | 久久亚洲中文字幕无码 | www.四虎.| 无码av天堂一区二区三区 | 亚洲日本网站 | 久久亚洲国产成人精品性色 | 91视频88av | 国产女人在线观看 | 欧美啪啪一区二区 | 亚洲免费三级 | 国产精品成人aaaaa网站 | 综合久久久久久 | 夜夜骚av一区二区三区 | 九九精品免费视频 | 亚洲综合射| 久久青草视频 | 亚洲一区精品在线观看 | 久草这里只有精品 | 欧美巨大荫蒂茸毛毛人妖 | av观看在线免费 | 少妇的性事hd | 视频精品一区二区 | 最新色网址 | 亚洲色图首页 | 伊人影院在线观看 | 国产av不卡一区二区 | 波多野结衣www | 日本一二三区在线视频 | 三年中文免费观看大全动漫 | 91美女网站 | 国产成人无码一区二区三区在线 | 天美视频在线观看 | 精品一区二区三区欧美 | 亚洲人成无码网站久久99热国产 | 成人一二三 | 在线黄色大片 | 亚洲精品9999 | 欧美日韩中文在线 | 色噜噜狠狠狠综合曰曰曰 | 精品自拍视频 | 国产无遮挡又黄又爽在线观看 | 亚洲人成电影在线播放 | 亚洲人成色777777老人头 | 成年男女免费视频网站 | 水蜜桃色314在线观看 | 亚洲人妻一区二区三区 | 欧美vieox另类极品 | 亚洲AV无码国产成人久久 | 日韩有码中文字幕在线观看 | 国产精品久久久久久久毛片 | 天天色天天干天天色 |