《昇思25天學習打卡營第2天 | 張量 Tensor》

《昇思25天學習打卡營第2天 | 張量 Tensor》

《昇思25天學習打卡營第2天 | 張量 Tensor》

  • 《昇思25天學習打卡營第2天 | 張量 Tensor》
    • 什么是張量(Tensor)
      • 張量的創建方式
        • 根據數據直接生成
        • 從NumPy數組生成
        • 使用init初始化器構造張量
        • 繼承另一個張量的屬性,形成新的張量
      • 張量的屬性

什么是張量(Tensor)

張量(Tensor)是一個多維數組或矩陣的概念,它是向量和矩陣的推廣。

在數學和物理學中,張量是一個具有多個分量的量,這些分量之間的關系可以通過一組坐標變換來描述。
在計算機科學和工程領域,特別是在機器學習和深度學習中,張量通常指的是多維數組,它是數據的基本表示形式。
在 MindSpore 網絡運算中張量(Tensor)是基本的數據結構。張量是一種特殊的數據結構,與數組和矩陣非常相似。

張量的創建方式

根據數據直接生成

可以根據數據創建張量,數據類型可以設置或者通過框架自動推斷。

data = [1, 0, 1, 0]
x_data = Tensor(data)
print(x_data, x_data.shape, x_data.dtype)

[1 0 1 0] (4,) Int64

從NumPy數組生成

可以從NumPy數組創建張量。

np_array = np.array(data)
x_np = Tensor(np_array)
print(x_np, x_np.shape, x_np.dtype)

[1 0 1 0] (4,) Int64

使用init初始化器構造張量

當使用init初始化器對張量進行初始化時,支持傳入的參數有init、shape、dtype。

  • init: 支持傳入initializer的子類。如:下方示例中的 One() 和 Normal()。

  • shape: 支持傳入 list、tuple、 int。

  • dtype: 支持傳入mindspore.dtype。

from mindspore.common.initializer import One, Normal# Initialize a tensor with ones
# init主要用于并行模式下的延后初始化,在正常情況下不建議使用init對參數進行初始化。
tensor1 = mindspore.Tensor(shape=(2, 2), dtype=mindspore.float32, init=One())
# Initialize a tensor from normal distribution
tensor2 = mindspore.Tensor(shape=(2, 2), dtype=mindspore.float32, init=Normal())print("tensor1:\n", tensor1)
print("tensor2:\n", tensor2)

tensor1:
[[1. 1.]
[1. 1.]]
tensor2:
[[ 0.01183298 0.00573333]
[ 0.01764924 -0.00527418]]

在這里插入圖片描述

繼承另一個張量的屬性,形成新的張量
from mindspore import opsx_ones = ops.ones_like(x_data)
print(f"Ones Tensor: \n {x_ones} \n")x_zeros = ops.zeros_like(x_data)
print(f"Zeros Tensor: \n {x_zeros} \n")

Ones Tensor:
[1 1 1 1]
Zeros Tensor:
[0 0 0 0]

張量的屬性

張量的屬性包括形狀、數據類型、轉置張量、單個元素大小、占用字節數量、維數、元素個數和每一維步長。

  • 形狀(shape):Tensor的shape,是一個tuple。
  • 數據類型(dtype):Tensor的dtype,是MindSpore的一個數據類型。
  • 單個元素大小(itemsize): Tensor中每一個元素占用字節數,是一個整數。
  • 占用字節數量(nbytes): Tensor占用的總字節數,是一個整數。
  • 維數(ndim): Tensor的秩,也就是len(tensor.shape),是一個整數。
  • 元素個數(size): Tensor中所有元素的個數,是一個整數。
  • 每一維步長(strides): Tensor每一維所需要的字節數,是一個tuple。
x = Tensor(np.array([[1, 2], [3, 4]]), mindspore.int32)print("x_shape:", x.shape)
print("x_dtype:", x.dtype)
print("x_itemsize:", x.itemsize)
print("x_nbytes:", x.nbytes)
print("x_ndim:", x.ndim)
print("x_size:", x.size)
print("x_strides:", x.strides)

x_shape: (2, 2)
x_dtype: Int32
x_itemsize: 4
x_nbytes: 16
x_ndim: 2
x_size: 4
x_strides: (8, 4)

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

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

相關文章

unity 導入的模型設置講解

咱們先講Model這一欄 Model Scene:場景級屬性,例如是否導入燈光和照相機,以及使用什么比例因子。 Scale Factor:縮放因子(也就是模型導入后大小如果小了或者大了在這里直接改是相當于該模型的大小的,而且在…

瀏覽器擴展V3開發系列之 chrome.runtime 的用法和案例

【作者主頁】:小魚神1024 【擅長領域】:JS逆向、小程序逆向、AST還原、驗證碼突防、Python開發、瀏覽器插件開發、React前端開發、NestJS后端開發等等 chrome.runtime API 提供了一系列的方法和事件,可以通過它來管理和維護 Chrome 擴展的生命…

讓GNSSRTK不再難【第14講-第二部分】

14.1.2 多個系統多個頻率 在 10.3 節中,我們介紹了衛星碼偏差產生原因,信號發出的是天線相位中心,而不是信號發生器。同樣的,對于接收機也存在相同的問題,即從模擬機的天線相位中心到內部信號跟蹤環路這段的時延我們是無法知曉的。 如果多個系統僅僅使用一個地點進行定位…

什么!你還不會Redis?跟著我講透Redis【上篇之初識與安裝】

1 NoSQL是什么 1.1 NoSQL數據庫概述 NoSQL(NoSQL Not Only SQL ),意即”不僅僅是SQL“,泛指非關系型的數據庫。 NoSQL 不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了數據庫的擴展能力。 不遵循SQL標準。不支持A…

PKG打包sqlite3項目,如何添加node_sqlite3.node依賴

項目地址:https://github.com/helson-lin/pkg_sqlite 在ffandown項目內,由于項目使用了sqlite3,在跨平臺打包的時候,除了本機外其他平臺打包之后運行缺少node_sqlite3.node依賴。 為了解決問題,百度了很久&#xff0c…

構建RESTful API:PHP框架中的實踐與策略

隨著Web服務的興起,RESTful API成為前后端分離架構中的關鍵組件。PHP作為一種廣泛使用的服務器端腳本語言,通過各種現代框架提供了構建RESTful API的強大工具和靈活性。本文將詳細介紹如何在PHP框架中實現RESTful API,探討設計原則、實現步驟…

NLP 相關知識

NLP 相關知識 NLPLLMPrompt ChainingLangChain NLP NLP(Natuarl Language Processing)是人工智能的一個分支,中文名自然語言處理,專注于處理和理解人類使用的自然語言。它涵蓋了多個子領域,如文本分類、情感分析、機器…

思維導圖麒麟liunx系統

系統管理與計劃任 ” 使用at命令提交任務。 6.2.1 at任務概述 6.1.4 定時任務的使用場景 at任務是指使用at命令安排的,只執行一次的任務它允許用戶指定在未來某個特定時間執行命令或腳本定時更新系統軟件包。定時清理系統臨時文件。自動備份文件和數據庫。 at:用于一…

pytorch 源碼閱讀(2)——torch._dynamo.optimize

0 torch._dynamo.optimize(backend, *, nopython, guard_export_fn, guard_fail_fn, disable, dynamic),TorchDynamo 的主入口點 1 參數說明 backend,一般有兩種情況: 一個包含 torch.fx.GraphModule 和 example_inputs,返回一個…

【websocket】websocket網課視頻記錄

僅個人方便回顧。 【WebSocket入門與案例實戰-嗶哩嗶哩】 https://b23.tv/2p1f9t2 課程對應代碼倉庫: https://gitee.com/duoli-java/websocket-demo.git

C++編程(二)引用

文章目錄 一、C中的引用(一)引用1. 語法格式2. 作用3. 注意事項 (二)常引用2. 其他場景 (三)引用和函數結合使用1. 引用可以作為函數的參數2. 引用可以作為函數的返回值 (四)引用和指…

在 C/C++ 中使用 popen去執行linux命令樣例,失敗場景

在 C/C 中使用 popen 函數去執行 Linux 命令是一種常見的方式,但確實存在多種可能導致失敗的場景。以下是一些可能導致 popen 失敗的常見原因和樣例: 命令不存在或路徑錯誤: 如果你嘗試執行的命令不存在于系統的 PATH 環境變量中,…

記因hive配置文件參數運用不當導致 sqoop MySQL導入數據到hive 失敗的案例

sqoop MySQL導入數據到hive報錯 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: Hive exited with status 64 報錯解釋: 這個錯誤表明Sqoop在嘗試導入數據到Hive時遇到了問題,導致Hive進程異常退出。狀態碼…

HarmonyOS Next開發學習手冊——通過startAbility拉起文件處理類應用

使用場景 開發者可以通過調用startAbility接口,由系統從已安裝的應用中尋找符合要求的應用來實現打開特定文件的意圖,例如:瀏覽器下應用下載PDF文件,可以調用此接口選擇文件處理應用打開此PDF文件。開發者需要在請求中設置待打開…

三個方法計算兩張圖片的相似度

import cv2 import numpy as np from skimage.metrics import structural_similarity as ssim import osdef is_similar(image1, image2, threshold0.95):對圖像的顏色信息敏感,能快速計算。對圖像的旋轉、縮放等幾何變換不敏感。缺點:對圖像的結構、紋理等信息不敏…

0625_ARM2

練習: 匯編實現1-100累加,結果保存在r0 .text .global _start start:mov r0,#0mov r1,#1b loop loop:add r0,r0,r1add r1,r1,#1cmp r1,#101bne loop .end思維導圖:

C#——SortedList 排序列表詳情

SortedList 排序列表 SortedList 類用來表示鍵/值對的集合,這些鍵/值對按照鍵值進行排序,并且可以通過鍵或索引訪問集合中的各個項。 我們可以將排序列表看作是數組和哈希表的組合,其中包含了可以使用鍵或索引訪問各項的列表。如果您使用索…

tensorflow學習1.3-創建會話,啟動會話

tensorflow學習1.3-創建會話,啟動會話 會話的由來與作用由來作用 會話的定義與結構定義 用法基本用法上下文管理器執行部分計算圖獲取多個結果 總結 練習代碼報錯原因:TensorFlow 2.x中的Eager Execution使用兼容模式來啟用SessionEager Execution和計算…

AI文檔助手:提升文檔處理效率

隨著人工智能技術的飛速發展,AI文檔助手已經成為我們提升工作效率的重要工具。小編就來和大家分享幾款AI文檔助手,它們能夠通過智能化的功能幫助我們快速、準確地完成各種文檔任務。 1.百度文庫AI助手 百度文庫AI助手是百度基于文心一言重構的一站式智能…

全景圖片/老照片/動漫圖片一鍵無損放大與修復

在日常生活中,我們經常使用系統自帶的圖片處理軟件來對圖片進行縮放操作,從而實現放大或縮小圖片。然而,這種方法會帶來一個問題:如果原始圖片較小,放大后會導致精度損失,使圖片變得模糊。 近年來&#xf…