Tensor 基本操作1 | PyTorch 深度學習實戰

目錄

    • 創建 Tensor
    • 常用操作
      • unsqueeze
      • squeeze
      • Softmax
        • 代碼1
        • 代碼2
        • 代碼3
      • argmax
      • item

創建 Tensor

使用 Torch 接口創建 Tensor

import torch

參考:https://pytorch.org/tutorials/beginner/basics/tensorqs_tutorial.html

常用操作

unsqueeze

將多維數組解套,并嵌入新的一層維度。

    data = [[1, 2],[3, 4]]x_data = torch.tensor(data)print("x_data")print(x_data)x2_data = x_data.unsqueeze(-1)print("x_data>> unsqueeze -1")print(x2_data)x2_data = x_data.unsqueeze(0)print("x_data>> unsqueeze 0")print(x2_data)x2_data = x_data.unsqueeze(1)print("x_data>> unsqueeze 1")print(x2_data)x2_data = x_data.unsqueeze(2)print("x_data>> unsqueeze 2")print(x2_data)

結果:

x_data
tensor([[1, 2],[3, 4]])
x_data>> unsqueeze -1   # -1 代表最內層,將最內層的數用一個新的維度包起來
tensor([[[1],[2]],[[3],[4]]])
x_data>> unsqueeze 0 # 0 代表最外層,將原來的多維數組整個多套一層
tensor([[[1, 2],[3, 4]]])
x_data>> unsqueeze 1 # 代表原來第一維里的每個元素,套一層
tensor([[[1, 2]],[[3, 4]]])
x_data>> unsqueeze 2 # 代表原來第二維里的每個元素,套一層
tensor([[[1],        # 當前一共兩維,所以效果和 -1 一樣[2]],[[3],[4]]])

squeeze

去掉指定或全部的維度中只有一個元素的多維數組。

比如輸入為 Ax1xBxCx1xD 維的數組,輸出變成了 AxBxCxD 維的數組。

https://pytorch.org/docs/stable/generated/torch.squeeze.html
在這里插入圖片描述

    data = [[1], [2],[3], [4]]x_data = torch.tensor(data)print("x_data")print(x_data)x2_data = x_data.squeeze()print("x_data>> squeeze")print(x2_data)x2_data = x_data.squeeze(1)print("x_data>> squeeze 1")print(x2_data)

結果:

x_data
tensor([[1],[2],[3],[4]])
x_data>> squeeze
tensor([1, 2, 3, 4])
x_data>> squeeze 1
tensor([1, 2, 3, 4])

Softmax

https://pytorch.org/docs/stable/generated/torch.softmax.html

歸一化操作。
在這里插入圖片描述

代碼1
    data = torch.tensor([1,2,3], dtype=torch.float) # 維度 3; 注意,此處 dtype 是 int 或 long 接口報錯x_data = torch.softmax(data, 0)print("x_data")print(x_data)

結果:

x_data
tensor([0.0900, 0.2447, 0.6652])  # 維度 3
代碼2
    data = torch.tensor([[1],[2],[3]], dtype=torch.float) # 維度 3x1x_data2 = torch.softmax(data, 0)print("x_data2")print(x_data2)

結果:

x_data2  # 維度 3x1
tensor([[0.0900],[0.2447],[0.6652]])
代碼3
    data = torch.tensor([[1],[2],[3]], dtype=torch.float) # 維度 3x1x_data2 = torch.softmax(data, 1) # 沿著第一維求print("x_data2")print(x_data2)

結果:

x_data2
tensor([[1.],[1.],[1.]])

此時,每維都是 1 個元素,針對自身求 softmax,所以,結果是 1.

argmax

https://pytorch.org/docs/stable/generated/torch.argmax.html

返回一個多維數組的最大值的索引,如果是多維數組,則返回第一維的索引。

在這里插入圖片描述

item

https://pytorch.org/docs/stable/generated/torch.Tensor.item.html
返回一個 Tensor 中攜帶的 Python Number 對象。該接口只對 Tensor 是一維的有效。

x = torch.tensor([1.0])
x.item()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66447.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66447.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66447.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Grafana系列之面板接入Prometheus Alertmanager

關于Grafana的儀表板Dashboard,以及面板Panel,參考Grafana系列之Dashboard。可以直接在面板上創建Alert,即所謂的Grafana Alert,參考Grafana系列之Grafana Alert。除了Grafana Alert外,面板也可接入Prometheus Alertma…

Windows 上安裝 MongoDB 的 zip 包

博主介紹: 大家好,我是想成為Super的Yuperman,互聯網宇宙廠經驗,17年醫療健康行業的碼拉松奔跑者,曾擔任技術專家、架構師、研發總監負責和主導多個應用架構。 近期專注: RPA應用研究,主流廠商產…

LeetCode 2266.統計打字方案數:排列組合

【LetMeFly】2266.統計打字方案數:排列組合 力扣題目鏈接:https://leetcode.cn/problems/count-number-of-texts/ Alice 在給 Bob 用手機打字。數字到字母的 對應 如下圖所示。 為了 打出 一個字母,Alice 需要 按 對應字母 i 次&#xff0c…

PTA乙級1001~1005【c++】

首先講解一下PTA乙級在哪里。PTA乙級題其實就是PAT (Basic Level) Practice &#xff08;中文&#xff09; 1001 害死人不償命的(3n1)猜想 #include<iostream> using namespace std;int main() {int cnt 0;int n;cin >> n;while(n ! 1){cnt ;if (n & 1){n …

滲透筆記1

第一天 工具&#xff1a;cs cobalt strike 4.9 / msf kali &#xff08;自帶 Ubuntu&#xff09; cs cobalt strike 4.9&#xff1a;server-client server部署在云服務器上&#xff0c;client分別在各地&#xff0c;與server相連接&#xff1b;連接上后就可以共享上線主機。…

用Python實現SVM搭建金融反詐模型(含調試運行)

1.概述 信用卡盜刷一般發生在持卡人信息被不法分子竊取后&#xff0c;復制卡片進行消費或信用卡被他人冒領后激活并消費等情況下。一旦發生信用卡盜刷&#xff0c;持卡人和銀行都會遭受一定的經濟損失。本節要運用支持向量機分類算法搭建一個金融反欺詐模型。 2.數據集 使用…

HunyuanVideo 文生視頻模型實踐

HunyuanVideo 文生視頻模型實踐 flyfish 運行 HunyuanVideo 模型使用文本生成視頻的推薦配置&#xff08;batch size 1&#xff09;&#xff1a; 模型分辨率(height/width/frame)峰值顯存HunyuanVideo720px1280px129f60GHunyuanVideo544px960px129f45G 本項目適用于使用 N…

第6章 ThreadGroup詳細講解(Java高并發編程詳解:多線程與系統設計)

1.ThreadGroup 與 Thread 在Java程序中&#xff0c; 默認情況下&#xff0c; 新的線程都會被加入到main線程所在的group中&#xff0c; main線程的group名字同線程名。如同線程存在父子關系一樣&#xff0c; Thread Group同樣也存在父子關系。圖6-1就很好地說明了父子thread、父…

nginx常用配置 (含負載均衡、反向代理、限流、Gzip壓縮、圖片防盜鏈 等示例)

nginx的配置文件通常在 /etc/nginx/nginx.conf , /etc/nginx/conf.d/*.conf 中&#xff0c; 一般直接 改 conf.d目錄下的 default.conf文件&#xff0c; 然后 先檢測配置文件是否有錯誤 nginx -t 再重新加載配置文件 或 重啟nginx&#xff0c;命令如下 nginx -s reload 或…

Python編程與在線醫療平臺數據挖掘與數據應用交互性研究

一、引言 1.1 研究背景與意義 在互聯網技術飛速發展的當下,在線醫療平臺如雨后春筍般涌現,為人們的就醫方式帶來了重大變革。這些平臺打破了傳統醫療服務在時間和空間上的限制,使患者能夠更加便捷地獲取醫療資源。據相關報告顯示,中國基于互聯網的醫療保健行業已進入新的…

Linux網絡_套接字_UDP網絡_TCP網絡

一.UDP網絡 1.socket()創建套接字 #include<sys/socket.h> int socket(int domain, int type, int protocol);domain (地址族): AF_INET網絡 AF_UNIX本地 AF_INET&#xff1a;IPv4 地址族&#xff0c;適用于 IPv4 協議。用于網絡通信AF_INET6&#xff1a;IPv6 地址族&a…

1 行命令引發的 Go 應用崩潰

一、前言 不久前&#xff0c;阿里云 ARMS 團隊、編譯器團隊、MSE 團隊攜手合作&#xff0c;共同發布并開源了 Go 語言的編譯時自動插樁技術。該技術以其零侵入的特性&#xff0c;為 Go 應用提供了與 Java 監控能力相媲美的解決方案。開發者只需將 go build 替換為新編譯命令 o…

R語言的并發編程

R語言的并發編程 引言 在現代計算中&#xff0c;如何有效地利用計算資源進行數據處理和分析已成為一個重要的研究方向。尤其在大數據時代&#xff0c;數據量的急劇增加讓單線程處理方式顯得力不從心。為了解決這一問題&#xff0c;各種編程語言都開展了并發編程的研究和應用。…

Flink(十):DataStream API (七) 狀態

1. 狀態的定義 在 Apache Flink 中&#xff0c;狀態&#xff08;State&#xff09; 是指在數據流處理過程中需要持久化和追蹤的中間數據&#xff0c;它允許 Flink 在處理事件時保持上下文信息&#xff0c;從而支持復雜的流式計算任務&#xff0c;如聚合、窗口計算、聯接等。狀…

C#項目生成時提示缺少引用

問題描述 剛從git或svn拉取下來的C#項目&#xff0c;在VS生成時提示缺少引用 解決方案 1、從“管理NuGet程序包”中下載并安裝缺少的引用&#xff0c;如果引用較多逐個下載安裝會比較麻煩&#xff0c;建議采用下面第2種方案處理 2、通過命令對所有缺少引用進行安裝 &#…

EAMM: 通過基于音頻的情感感知運動模型實現的一次性情感對話人臉合成

EAMM: 通過基于音頻的情感感知運動模型實現的一次性情感對話人臉合成 1所有的材料都可以在EAMM: One-Shot Emotional Talking Face via Audio-Based Emotion-Aware Motion Model網站上找到。 摘要 盡管音頻驅動的對話人臉生成技術已取得顯著進展&#xff0c;但現有方法要么忽…

BeanFactory 是什么?它與 ApplicationContext 有什么區別?

談到Spring&#xff0c;那勢必要講講容器 BeanFactory 和 ApplicationContext。 BeanFactory是什么&#xff1f; BeanFactory&#xff0c;其實就是 Spring 容器&#xff0c;用于管理和操作 Spring 容器中的 Bean。可能此時又有初學的小伙伴會問&#xff1a;Bean 是什么&#x…

【深度學習】Huber Loss詳解

文章目錄 1. Huber Loss 原理詳解2. Pytorch 代碼詳解3.與 MSELoss、MAELoss 區別及各自優缺點3.1 MSELoss 均方誤差損失3.2 MAELoss 平均絕對誤差損失3.3 Huber Loss 4. 總結4.1 優化平滑4.2 梯度較好4.3 為什么說 MSE 是平滑的 1. Huber Loss 原理詳解 Huber Loss 是一種結合…

python實現pdf轉word和excel

一、引言   在辦公中&#xff0c;我們經常遇收到pdf文件格式&#xff0c;因為pdf格式文件不易修改&#xff0c;當我們需要編輯這些pdf文件時&#xff0c;經常需要開通會員或收費功能才能使用編輯功能。今天&#xff0c;我要和大家分享的&#xff0c;是如何使用python編程實現…

【PyCharm】連接Jupyter Notebook

【PyCharm】相關鏈接 【PyCharm】連接 Git【PyCharm】連接Jupyter Notebook【PyCharm】快捷鍵使用【PyCharm】遠程連接Linux服務器【PyCharm】設置為中文界面 【PyCharm】連接Jupyter Notebook PyCharm連接Jupyter Notebook的過程可以根據不同的需求分為 本地連接 和 遠程連…