torch.tensor

torch.tensor

通過復制數據構造一個張量

  • (構造出的張量是一個沒有自動微分(autograd )歷史的張量,也稱為葉張量,參考Autograd mechanics)。

torch.tensor(data, *, dtype=None, device=None, requires_grad=False, pin_memory=False) Tensor

  • data– 用于創建張量的初始數據。可以是列表、元組、NumPyndarray、標量和其他類型。
  • dtype (torch.dtype,可選)– 返回張量的所需數據類型。默認值:如果為 None,則從數據中推斷數據類型。pytorch中的數據類型
  • device(torch.device,可選)- 構造的張量的設備。如果 None 且 data 是張量,則使用 data 設備。如果 None 且 data 不是張量,則結果張量在當前設備上構造。
  • requires_grad(bool, 可選)– 是否有autograd。默認值:False(沒有)。
  • pin_memory (bool,可選) – 返回的張量將在固定內存中分配。僅適用于 CPU 張量。默認值:False。
import torch# 創建一個空張量(大小為0)
tensor_0=torch.tensor([]) 
print("空張量:", tensor_0)# 創建一個一維張量(向量)
tensor_1d = torch.tensor([1, 2, 3, 4, 5])
print("一維張量:", tensor_1d)# 創建一個二維張量(矩陣)
tensor_2d = torch.tensor([[1.1, 2.2], [3.3, 4.4]])
print("二維張量:", tensor_2d)# 創建一個三維張量
tensor_3d = torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print("三維張量:", tensor_3d)# 創建一個序列,并將其轉換為張量
sequence = [1, 2, 3]
tensor_from_list = torch.tensor(sequence)
print("從列表創建的張量:", tensor_from_list)# 創建一個張量,并指定是否需要梯度
tensor_requires_grad = torch.tensor([1.0, 2.0, 3.0], requires_grad=True)
print("需要梯度的張量:", tensor_requires_grad)# 對需要梯度的張量進行操作,并計算梯度
tensor_requires_grad[0].backward()
print("梯度:", tensor_requires_grad.grad)# 創建一個張量,并指定數據類型和設備
tensor_dtype_device = torch.tensor([0.1, 0.2, 0.3], dtype=torch.float64, device=torch.device('cuda:0'))
print("指定數據類型和設備的張量:", tensor_dtype_device)
'''output
空張量: tensor([])
一維張量: tensor([1, 2, 3, 4, 5])
二維張量: tensor([[1.1000, 2.2000],[3.3000, 4.4000]])
三維張量: tensor([[[1, 2],[3, 4]],[[5, 6],[7, 8]]])
從列表創建的張量: tensor([1, 2, 3])
需要梯度的張量: tensor([1., 2., 3.], requires_grad=True)
梯度: tensor([1., 0., 0.])
指定數據類型和設備的張量: tensor([0.1000, 0.2000, 0.3000], device='cuda:0', dtype=torch.float64)
'''

注意

當使用張量時,為了可讀性,更傾向使用torch.Tensor.clone(), torch.Tensor.detach()torch.Tensor.requires_grad_()
設t為張量,torch.tensor(t)等價于t.clone().detach()torch.tensor(t, requires_grad=True)等價于t.clone().detach().requires_grad_(True)

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

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

相關文章

探索PyTorch:從入門到實踐的demo全解析

探索PyTorch:從入門到實踐的demo全解析 一、環境搭建:PyTorch的基石(一)選擇你的“利器”:安裝方式解析(二)步步為營:詳細安裝步驟指南二、基礎入門demo:點亮第一盞燈(一)張量操作:深度學習的“積木”(二)自動求導:模型學習的“幕后英雄”三、數據處理demo:喂飽…

SpringMVC學習(二)——RESTful API、攔截器、異常處理、數據類型轉換

一、RESTful (一)RESTful概述 RESTful是一種軟件架構風格,用于設計網絡應用程序。REST是“Representational State Transfer”的縮寫,中文意思是“表現層狀態轉移”。它基于客戶端-服務器模型和無狀態操作,以及使用HTTP請求來處理數據。RES…

Windows中安裝Python3

Windows中安裝Python3 1. 下載Python安裝包 首先,訪問Python的官方網站 Python.org,選擇適合你Windows版本的Python安裝包。 2. 運行安裝包 下載完成.exe文件后,雙擊運行安裝包。在安裝過程中,有一些關鍵的選項需要特別注意&a…

JS數值類型中特殊數值NaN(Not-a-Number)理解和應用場景

NaN 的含義 在 JavaScript 中,NaN 是一種特殊的數值類型,表示 “Not-a-Number”。它通常用于標識數學運算或類型轉換的結果無法產生有效數值的情況。 特性 類型為數值: console.log(typeof NaN); // "number"盡管 NaN 表示 “不是…

虛幻引擎結構之UWorld

Uworld -> Ulevel ->Actors -> AActor 在虛幻引擎中,UWorld 類扮演著至關重要的角色,它就像是游戲世界的總指揮。作為游戲世界的核心容器,UWorld 包含了構成游戲體驗的眾多元素,從游戲實體到關卡設計,再到物…

java中logback怎么開啟異步功能

在Java中使用Logback時,開啟異步日志記錄功能可以通過配置AsyncAppender來實現。異步日志記錄可以顯著提高應用程序的性能,因為它將日志記錄操作從主線程移到了后臺線程執行,從而減少了主線程的阻塞時間。 步驟 1: 添加 Logback 配置文件 確…

2024第一屆Solar杯應急響應挑戰賽

日志流量 日志流量-1 直接放到D盾分析 解碼 flag{A7b4_X9zK_2v8N_wL5q4} 日志流量-2 哥斯拉流量 工具解一下 flag{sA4hP_89dFh_x09tY_lL4SI4} 日志流量-3 tcp流6復制data流 解碼 改pdf flag{dD7g_jk90_jnVm_aPkcs} 內存取證 內存取證-1 vol.py -f 123.raw --profileWin…

HarmonyOS Next 實現登錄注冊頁面(ARKTS) 并使用Springboot作為后端提供接口

1. HarmonyOS next ArkTS ArkTS圍繞應用開發在 TypeScript (簡稱TS)生態基礎上做了進一步擴展,繼承了TS的所有特性,是TS的超集 ArkTS在TS的基礎上擴展了struct和很多的裝飾器以達到描述UI和狀態管理的目的 以下代碼是一個基于…

Spring Boot教程之四十:使用 Jasypt 加密 Spring Boot 項目中的密碼

如何使用 Jasypt 加密 Spring Boot 項目中的密碼 在本文中,我們將學習如何加密 Spring Boot 應用程序配置文件(如 application.properties 或 application.yml)中的數據。在這些文件中,我們可以加密用戶名、密碼等。 您經常會遇到…

【Vue】如何在 Vue 3 中使用組合式 API 與 Vuex 進行狀態管理的詳細教程

如何在 Vue 3 中使用組合式 API 與 Vuex 進行狀態管理的詳細教程。 安裝 Vuex 首先,在你的 Vue 3 項目中安裝 Vuex。可以使用 npm 或 yarn: npm install vuexnext --save # or yarn add vuexnext創建 Store 在 Vue 3 中,你可以使用 creat…

七、隊列————相關概念詳解

隊列————相關概念詳解 前言一、隊列1.1 隊列是什么?1.2 隊列的類比 二、隊列的常用操作三、隊列的實現3.1 基于數組實現隊列3.1.1 基于環形數組實現的隊列3.1.2 基于動態數組實現的隊列 3.2 基于鏈表實現隊列 四、隊列的典型應用總結 前言 本篇文章,我們一起來…

基于 Ragflow 搭建知識庫-初步實踐

基于 Ragflow 搭建知識庫-初步實踐 一、簡介 Ragflow 是一個強大的工具,可用于構建知識庫,實現高效的知識檢索和查詢功能。本文介紹如何利用 Ragflow 搭建知識庫,包括環境準備、安裝步驟、配置過程以及基本使用方法。 二、環境準備 硬件要…

Pandas03

Pandas01 Pandas02 文章目錄 內容回顧1 排序和統計函數2 缺失值處理2.1 認識缺失值2.2 缺失值處理- 刪除2.3 缺失值處理- 填充非時序數據時序數據 3 Pandas數據類型3.1 數值類型和字符串類型之間的轉換3.2 日期時間類型3.3 日期時間索引 4 分組聚合4.1 分組聚合的API使用4.2 分…

springboot整合log4j2日志框架1

一 log4j基本知識 1.1 log4j的日志級別 Log4j定義了8個級別的log(除去OFF和ALL,可以說分為6個級別),優先級從低到高依次為:All,trace,debug,info,warn,err…

Spring源碼_05_IOC容器啟動細節

前面幾章,大致講了Spring的IOC容器的大致過程和原理,以及重要的容器和beanFactory的繼承關系,為后續這些細節挖掘提供一點理解基礎。掌握總體脈絡是必要的,接下來的每一章都是從總體脈絡中, 去研究之前沒看的一些重要…

WPF使用OpenCvSharp4

WPF使用OpenCvSharp4 創建項目安裝OpenCvSharp4 創建項目 安裝OpenCvSharp4 在解決方案資源管理器中,右鍵單擊項目名稱,選擇“管理 NuGet 包”。搜索并安裝以下包: OpenCvSharp4OpenCvSharp4.ExtensionsOpenCvSharp4.runtime.winSystem.Man…

leetcode 3083. 字符串及其反轉中是否存在同一子字符串 簡單

給你一個字符串 s ,請你判斷字符串 s 是否存在一個長度為 2 的子字符串,在其反轉后的字符串中也出現。 如果存在這樣的子字符串,返回 true;如果不存在,返回 false 。 示例 1: 輸入:s "…

TCP-UDP調試工具推薦:Socket通信測試教程(附詳細圖解)

前言 在網絡編程與應用開發中,調試始終是一項不可忽視的重要環節。尤其是在涉及TCP/IP、UDP等底層網絡通信協議時,如何確保數據能夠準確無誤地在不同節點間傳輸,是許多開發者關注的核心問題。 調試的難點不僅在于定位連接建立、數據流控制及…

Vue.js框架:在線教育系統的安全性與穩定性

2.1系統開發使用的關鍵技術 本系統在開發中選擇B/S框架進行設計,語言采用Java,數據庫采用Mysql,并在設計中加入VUE.js技術,本系統的運行環境為Idea。 2.2 VUE.js技術介紹 VUE.js是一個用來開發前臺界面的JavaScript框架&#xff0…

【新方法】通過清華鏡像源加速 PyTorch GPU 2.5安裝及 CUDA 版本選擇指南

下面詳細介紹所提到的兩條命令,它們的作用及如何在你的 Python 環境中加速 PyTorch 等庫的安裝。 1. 設置清華鏡像源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple這條命令的作用是將 pip (Python 的包管理工具&#xf…