PyTorch武俠演義 第一卷:初入江湖 第1章:武林新秀遇Tensor - 張量基礎

第一卷:初入江湖

第1章:武林新秀遇Tensor - 張量基礎


晨起碼農村

雞鳴三聲,林小碼已經收拾好了行囊。他最后看了眼床頭那本翻舊的《Python入門心法》,輕輕撫平卷起的書角。

"小碼,路上小心。"父親將一把青銅匕首塞進他手中,“這是祖傳的NumPy匕首,雖不及當世神兵,但足以防身。”

母親紅著眼眶遞來包袱:“娘給你烙了Tensor燒餅,路上餓了就吃。”

林小碼跪地叩首:"孩兒此去,定要拜入PyTorch派學藝!"轉身時,他聽見父親低聲對母親說:“這孩子打小就愛琢磨那些數字陣法,或許真能…”

晨霧中,少年的身影漸行漸遠。他腰間除了匕首,還別著本藍皮冊子——《張量的七十二變》。


青云鎮初遇

三日后,林小碼站在青云鎮的石板街上,這里正舉辦十年一度的"深度學習武林大會"。街邊小販吆喝著:

“來看來瞧!新鮮出爐的MNIST手寫符!”
“Kaggle比武大會報名處,頭獎千金!”

突然,前方傳來一陣騷動。只見一群錦衣少年圍著個賣藝老者起哄:

“老騙子!你這發光方塊算什么武功?”
“就是!我們TensorFlow幫的矩陣劍法才叫真功夫!”

老者不慌不忙,面前懸浮的發光立方體突然分裂成無數小塊,在空中組成"歡迎來到PyTorch派"字樣。

"這…"林小碼瞳孔微縮,“竟是三維張量分解!”


張量大師

傍晚,林小碼在客棧后院練劍時,那賣藝老者竟坐在墻頭喝酒。

“小子,白天的招式,你看懂了幾分?”

林小碼連忙行禮:“前輩莫非就是傳說中的Tensor大師?晚輩只見您將(8,8,8)張量reshape成了(512,)…”

老者突然將酒葫蘆拋向空中,葫蘆化作數百個細小張量,又重組為茶壺模樣。

"好眼力!但reshape只是基礎。"大師手指輕點,茶壺又變成駿馬形態,“真正的張量運算,在于…”

突然,客棧老板沖進來:“不好啦!TensorFlow幫的人來砸場子了!”


初次比武

前院站著三個錦衣少年,為首的冷笑道:“老東西,敢在我們地盤演示PyTorch邪術?”

大師將林小碼推到前面:“小友,可敢用方才所學應戰?”

"我?"林小碼手心冒汗,但想起包袱里的Tensor燒餅,突然有了主意。

他掏出燒餅掰成四塊:“看招!torch.chunk(燒餅,4)”

四塊燒餅在空中化作張量,擊中對方劍陣的薄弱處。錦衣少年們驚愕地發現,他們的"TF矩陣劍"竟被幾個一維張量打亂了節奏。

"有意思。"大師捻須微笑,“但你可知為何能破陣?”

林小碼思索道:“因為他們用static shape,而我們用dynamic shape?”


深夜授藝

是夜,大師帶林小碼來到后山。

"看好了。"大師雙手結印,地面浮現巨大計算圖,“這才是張量的精髓。”

他演示了:

  1. 張量創建:從普通數組到GPU張量的蛻變
cpu_tensor = torch.tensor([1,2,3])  # 凡鐵
gpu_tensor = cpu_tensor.cuda()      # 百煉成鋼
  1. 自動廣播:小張量如何智取大張量
  2. 內存共享:view與reshape的江湖恩怨

突然,林小碼發現大師演示的最后一個張量形狀有誤:“前輩,這個(3,4)張量不能直接view成(7)啊!”

大師哈哈大笑:“好!發現shape不匹配錯誤,你已入門了!”


技術揭秘

# 武俠比喻: 
#   - 張量如內力,可剛可柔,變化萬千
#   - reshape是易容術,view是分身法
#   - GPU加速乃輕功提縱術# 技術實質:
import torch
# 創建張量
x = torch.arange(24).reshape(2,3,4)  # 三維張量
# 自動廣播
y = torch.tensor([1,2,3])          # 形狀(3,)
z = x + y                           # 自動擴展為(2,3,4)
# 內存共享
a = x[:,1,:]                        # 共享內存的視圖# 關鍵要點:
# 1. 張量是PyTorch的基礎數據結構
# 2. 支持CPU/GPU兩種運算設備
# 3. 自動廣播機制簡化運算
# 4. 視圖操作不復制數據

下章預告:深夜,林小碼發現大師的計算圖中暗藏玄機…那些流動的數字背后,竟是傳說中的Autograd神功!

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

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

相關文章

Python進階(4):類與面向對象程序設計

面向對象OOPOOP:Object Oriented Programming,面向對象編程,面向對象中的對象(Obiect),通常是指客觀世界中存在的對象,這個對象具有唯一性,對象之間各不相同,各有各的特點,每個對象都有自己的運動規律和內部狀態;對象與…

如何在 Shopify 中創建退貨標簽

退貨是電商運營中不可避免的一環,而一個順暢、透明的退貨流程,不僅能減少客戶投訴,也有助于提升顧客對品牌的信任與忠誠度。Shopify 雖然沒有內建退貨標簽自動生成功能,但通過合理設置與外部工具整合,你完全可以打造一…

I2C設備寄存器讀取調試方法

1、查看I2C掛載設備 2、讀取i2C設備所有寄存器 3、讀取i2c設備的某個寄存器 4、向i2C設備某個寄存器寫入一個值1、查看

K8S的Helm包管理器

一、背景 官網: https://helm.sh/ 我們針對K8S環境中,部署對應的應用,無外乎就是編寫一堆yaml資源清單文件. 資源清單、依賴性少的時候,可以直接手動維護。但是,隨著資源清單越來越復雜,越來越多,不同的環…

多模態數據處理新趨勢:阿里云ODPS技術棧深度解析與未來展望

多模態數據處理新趨勢:阿里云ODPS技術棧深度解析與未來展望 🌟 嗨,我是IRpickstars! 🌌 總有一行代碼,能點亮萬千星辰。 🔍 在技術的宇宙中,我愿做永不停歇的探索者。 ? 用代碼丈…

AI數據分析儀設計原理圖:RapidIO信號接入 平板AI數據分析儀

AI數據分析儀設計原理圖:RapidIO信號接入 平板AI數據分析儀 1 、概述 本儀器是一款面向工業控制、新能源、震動測量等業務開發的平板AI數據分析儀。基于 Jetson Orin Nano(AI邊緣計算)、實現RapidIO接口數據接入,進行AI分析。Rap…

人工智能正逐步商品化,而“理解力”才是開發者的真正超能力

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

玩轉ClaudeCode:ClaudeCode安裝教程(Windows+Linux+MacOS)

Windows 環境安裝 Claude Code 一、安裝 WSL 環境 1. 確認 Windows 功能已開啟 打開 “控制面板 → 程序 → 啟用或關閉 Windows 功能” 勾選 “適用于 Linux 的 Windows 子系統” 和 “虛擬機平臺” 點“確定”后重啟電腦。 開機后,管理員模式打開 Terminal…

PyTorch多層感知機(MLP)模型構建與MNIST分類訓練

沖沖沖😊 here😊 文章目錄PyTorch多層感知機模型構建與MNIST分類訓練筆記🎯 1. 任務概述?? 2. 環境設置2.1 導入必要庫2.2 GPU配置🧠 3. 模型構建3.1 模型定義關鍵點3.2 損失函數選擇3.3 模型初始化與設備選擇🔧 4. …

android tabLayout 切換fragment fragment生命周期

1、TabLayout 與 Fragment 結合使用的常見方式 通常會使用 FragmentPagerAdapter 或 FragmentStatePagerAdapter 與 ViewPager 配合,再將 TabLayout 與 ViewPager 關聯,實現通過 TabLayout 切換 Fragment。 以下是布局文件示例 activity_main.xml: <LinearLayout xmln…

馬蹄集 BD202401補給

可怕的戰爭發生了&#xff0c;小度作為后勤保障工作人員&#xff0c;也要為了保衛國家而努力。現在有 N(1≤N≤)個堡壘需要補給&#xff0c;然而總的預算 B(1≤B≤)是有限的。現在已知第 i 個堡壘需要價值 P(i) 的補給&#xff0c;并且需要 S(i) 的運費。 鑒于小度與供應商之間…

《Llava:Visual Instruction Tuning》論文精讀筆記

論文鏈接&#xff1a;arxiv.org/pdf/2304.08485 參考視頻&#xff1a;LLAVA講解_嗶哩嗶哩_bilibili [論文速覽]LLaVA: Visual Instruction Tuning[2304.08485]_嗶哩嗶哩_bilibili 標題&#xff1a;Visual Instruction Tuning 視覺指令微調 背景引言 大模型的Instruction…

【DataWhale】快樂學習大模型 | 202507,Task01筆記

引言 我從2016年開始接觸matlab看別人做語音識別&#xff0c;再接觸tensorflow的神經網絡&#xff0c;2017年接觸語音合成&#xff0c;2020年做落地的醫院手寫數字識別。到2020年接觸pytorch做了計算機視覺圖像分類&#xff0c;到2021年做了目標檢測&#xff0c;2022年做了文本…

機器學習中的樸素貝葉斯(Naive Bayes)模型

1. 用實例來理解樸素貝葉斯 下面用具體的數據來演示垃圾郵件 vs 正常郵件的概率計算假設我們有一個小型郵件數據集郵件內容類別&#xff08;垃圾/正常&#xff09;“免費 贏取 大獎”垃圾“免費 參加會議”正常“中獎 點擊 鏈接”垃圾“明天 開會”正常“贏取 免費 禮品”垃圾 …

document.documentElement詳解

核心概念定義 它始終指向當前文檔的根元素&#xff0c;在 HTML 文檔中對應 <html> 標簽。與 document.body&#xff08;對應 <body>&#xff09;和 document.head&#xff08;對應 <head>&#xff09;形成層級關系。與 document.body 的區別 <html> &l…

c#進階之數據結構(動態數組篇)----Queue

1、簡介這個是c#封裝的隊列類型&#xff0c;同棧相反&#xff0c;這個是先進先出&#xff0c;一般用于事件注冊&#xff0c;或者數據的按順序處理&#xff0c;理解為需要排隊處理的可以用隊列來處理。注意&#xff0c;隊列一定是有順序的&#xff0c;先進確實是會先出&#xff…

使用 keytool 在服務器上導入證書操作指南(SSL 證書驗證錯誤處理)

使用 keytool 在服務器上導入證書操作指南(SSL 證書驗證錯誤處理) 一、概述 本文檔用于指導如何在運行 Java 應用程序的服務器上,通過keytool工具將證書導入 Java 信任庫,解決因證書未被信任導致的 SSL/TLS 通信問題(如PKIX path building failed錯誤)。 二、操作步驟…

VUE export import

目錄 命名導出 導出變量 導出函數 總結 默認導出 導出變量 導出函數 總結 因為總是搞不懂export和Import什么時候需要加{}&#xff0c;什么時候不用&#xff0c;所以自己測試了一下&#xff0c;以下是總結。 需不需要加{}取決于命名導出還是默認導出&#xff0c;命名導…

端側寵物識別+拍攝控制智能化:解決設備識別頻次識別率雙低問題

隨著寵物成為家庭重要成員&#xff0c;寵物影像創作需求激增&#xff0c;傳統相機系統 “人臉優先” 的調度邏輯已難以應對寵物拍攝的復雜場景。毛發邊緣模糊、動態姿態多變、光照反差劇烈等問題&#xff0c;推動著智能拍攝技術向 “寵物優先” 范式轉型。本文基于端側 AI 部署…

Popover API 實戰指南:前端彈層體驗的原生重構

&#x1fa84; Popover API 實戰指南&#xff1a;前端彈層體驗的原生重構 還在用 position: absolute JS 定位做 tooltip&#xff1f;還在引入大型 UI 庫只為做個浮層&#xff1f;現在瀏覽器已經支持了真正原生的「彈出層 API」&#xff0c;一行 HTMLCSS 就能構建可交互、無障…