97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

做旅游網(wǎng)站畢設任務書wordpress工作室主題

鶴壁市浩天電氣有限公司 2026/01/24 13:59:39
做旅游網(wǎng)站畢設任務書,wordpress工作室主題,醫(yī)療網(wǎng)站模板免費下載,哪個網(wǎng)站看電影做便宜歡迎來到“MindSpore開發(fā)之路”系列。如果你對人工智能#xff08;AI#xff09;感到好奇#xff0c;聽說過“深度學習”、“神經(jīng)網(wǎng)絡”這些詞#xff0c;但又覺得它們深不可測#xff0c;那么這個系列就是為你準備的。我們將一起#xff0c;從零開始#xff0c;一步步走…歡迎來到“MindSpore開發(fā)之路”系列。如果你對人工智能AI感到好奇聽說過“深度學習”、“神經(jīng)網(wǎng)絡”這些詞但又覺得它們深不可測那么這個系列就是為你準備的。我們將一起從零開始一步步走進AI框架的世界。今天我們不談高深的數(shù)學不糾結(jié)復雜的算法只專注于一個問題AI框架究竟是什么我們?yōu)槭裁葱枰约癕indSpore作為一個全新的選擇它能為我們帶來什么1. AI框架從煉丹到工業(yè)化生產(chǎn)在AI的圈子里開發(fā)者們有時會開玩笑說自己是在“煉丹”。這個比喻很形象因為早期的AI模型開發(fā)確實有點像古代方士煉制丹藥充滿了不確定性需要大量的經(jīng)驗、技巧甚至一點點運氣。開發(fā)者需要手動處理數(shù)據(jù)親手編寫每一個數(shù)學運算還要費心去調(diào)度計算機底層的硬件比如GPU來加速計算。整個過程非常繁瑣效率也不高。想象一下你要蓋一棟房子。你是選擇自己去燒磚、和水泥、砍木頭還是直接使用預制好的磚塊、商品混凝土和標準化的門窗大多數(shù)人會選擇后者。AI框架扮演的就是“預制件”和“專業(yè)工具”的角色。它把那些構(gòu)建AI模型時最常用、最基礎的功能都封裝好了比如數(shù)據(jù)處理的流水線、各種神經(jīng)網(wǎng)絡的基礎模塊、自動計算梯度的能力以及在不同硬件上高效運行的策略。開發(fā)者不再需要關心底層那些錯綜復雜的細節(jié)可以將全部精力都投入到模型本身的設計和創(chuàng)新上。名詞解釋模型 (Model)在AI領域模型可以被理解為一個簡化版的“大腦”。它是一個具有特定結(jié)構(gòu)的數(shù)學函數(shù)通過學習數(shù)據(jù)中的規(guī)律來完成特定任務比如識別圖片中的貓或者翻譯一段文字。訓練 (Training): 指的是“教會”模型的過程。我們給模型看大量的例子數(shù)據(jù)并告訴它正確答案模型會不斷調(diào)整自己內(nèi)部的參數(shù)直到它能做出正確的預測。這個調(diào)整的過程就是訓練。硬件 (Hardware): 這里特指能加速AI計算的芯片最常見的是GPU圖形處理器在專業(yè)領域還有華為的Ascend昇騰芯片等。AI框架的一個重要工作就是屏蔽這些硬件的差異讓你的代碼能跑在不同的芯片上。所以AI框架的出現(xiàn)讓AI開發(fā)從手工作坊式的“煉丹”邁向了標準化、模塊化的“工業(yè)化生產(chǎn)”。它極大地降低了AI開發(fā)的門檻讓更多的人可以參與到這項激動人心的技術(shù)中來。2. MindSpore登場一個全新的選擇市面上已經(jīng)有一些廣為人知的AI框架比如TensorFlow和PyTorch。那么為什么還需要一個新的MindSpore呢MindSpore并非簡單的重復造輪子它的誕生是為了解決在AI大規(guī)模應用時代出現(xiàn)的一些新的挑戰(zhàn)。它帶來了幾個非常吸引人的設計理念。2.1 全場景協(xié)同一套代碼處處運行今天的AI應用早已不只運行在云端那些強大的服務器上。你的手機、智能手表、甚至家里的攝像頭都可能需要運行AI模型。這就帶來一個很麻煩的問題在服務器上用一套框架訓練出的模型要部署到手機上往往需要經(jīng)過復雜的轉(zhuǎn)換、壓縮甚至要用另一套專門為移動端設計的“輕量級”框架來重新實現(xiàn)。這個過程費時費力還容易出錯。MindSpore的設計目標之一就是“全場景協(xié)同”。它希望實現(xiàn)用一套統(tǒng)一的框架和API就能覆蓋從云端服務器Device、到邊緣計算設備Edge、再到手機等終端Cloud的全場景。你在服務器上開發(fā)的模型可以更平滑、更便捷地部署到各種設備上。內(nèi)容解釋MindSpore如何實現(xiàn)全場景MindSpore生態(tài)中包含一個關鍵組件叫做MindSpore Lite。它的角色就像一個“模型打包和部署工具”。當你用MindSpore訓練好一個模型后MindSpore Lite可以把它轉(zhuǎn)換成一種輕量的、專門為推理優(yōu)化的格式。這個輕量版的模型就可以直接在手機、IoT設備上高效運行了。我們在本系列的后續(xù)文章中會深入講解它。這種“一次開發(fā)處處部署”的理念對于需要將AI能力快速賦能到各種硬件產(chǎn)品的開發(fā)者和企業(yè)來說吸引力是巨大的。2.2 自動并行把“分布式”的復雜性留給自己當模型變得越來越大數(shù)據(jù)量越來越多時單靠一塊GPU的算力已經(jīng)遠遠不夠了。開發(fā)者必須使用多塊GPU甚至多臺服務器來協(xié)同訓練這就是“分布式訓練”。但分布式訓練非常復雜。開發(fā)者需要手動去思考模型該怎么切分數(shù)據(jù)該如何分發(fā)計算結(jié)果又該如何同步這不僅需要深厚的專業(yè)知識而且調(diào)試起來極為困難。MindSpore在這里提供了一個“殺手锏”級別的特性自動并行。你只需要編寫一份在單卡上運行的邏輯代碼然后通過簡單的配置MindSpore的編譯器就能自動分析你的代碼并智能地選擇一種最優(yōu)的分布式策略將計算任務拆分到不同的處理器上。它會自動幫你處理好數(shù)據(jù)分發(fā)、模型切片、結(jié)果匯總等所有臟活累活。這就像你是一個大項目的總指揮你只需要下達最終的戰(zhàn)略目標寫好你的模型邏輯而不需要去關心每個小分隊具體如何分工、如何協(xié)作。你的副官MindSpore會幫你把一切都安排得明明白白。這個特性讓開發(fā)者可以從復雜的分布式工程中解放出來重新專注于算法和模型本身這對于探索超大規(guī)模AI模型的邊界至關重要。2.3 動靜統(tǒng)一兼顧靈活性與高性能在AI框架領域一直存在兩種主流的執(zhí)行模式動態(tài)圖 (Dynamic Graph)代碼像普通的Python程序一樣逐行執(zhí)行。寫一行算一行。優(yōu)點非常直觀易于調(diào)試。你可以隨時打印出中間結(jié)果或者使用Python的調(diào)試工具。這種模式對算法研究人員非常友好。缺點執(zhí)行效率相對較低因為框架無法對整個計算流程進行全局優(yōu)化。靜態(tài)圖 (Static Graph)代碼首先被“編譯”成一個完整的、固定的計算圖然后再整體執(zhí)行。優(yōu)點性能極高。因為框架預先知道了全部的計算步驟所以可以進行各種優(yōu)化比如合并一些計算、更好地利用硬件等。這種模式非常適合最終的模型部署。缺點不靈活調(diào)試困難。一旦開始執(zhí)行你很難再獲取中間狀態(tài)就像一個黑盒子。過去的框架往往讓開發(fā)者陷入兩難要么為了靈活性犧牲性能要么為了性能忍受痛苦的調(diào)試過程。MindSpore嘗試解決這個問題提出了“動靜統(tǒng)一”的理念。它同時支持這兩種模式分別稱為PYNATIVE_MODE動態(tài)圖和GRAPH_MODE靜態(tài)圖。更重要的是MindSpore致力于讓你寫的同一套代碼可以無縫地在這兩種模式間切換。你可以在開發(fā)和調(diào)試階段使用動態(tài)圖模式享受其靈活性在需要追求極致性能的訓練和部署階段則切換到靜態(tài)圖模式獲得性能的提升。3. 動手實踐你的第一個MindSpore程序理論說了這么多不如親手試一試。讓我們來寫幾行代碼感受一下MindSpore。注意本節(jié)假設你已經(jīng)安裝好了MindSpore。關于如何安裝我們將在下一篇文章中詳細介紹。3.1 創(chuàng)建與操作張量 (Tensor)“張量”Tensor是AI框架中流動的數(shù)據(jù)也是最基本的數(shù)據(jù)結(jié)構(gòu)。你可以把它看作一個多維數(shù)組。我們來創(chuàng)建一個張量并對它進行簡單的操作。importnumpyasnpimportmindsporefrommindsporeimportTensor# 設置MindSpore的執(zhí)行模式為動態(tài)圖方便觀察# GRAPH_MODE: 靜態(tài)圖模式, PYNATIVE_MODE: 動態(tài)圖模式mindspore.set_context(modemindspore.PYNATIVE_MODE)# 1. 從一個Python列表創(chuàng)建Tensortensor_from_listTensor([1,2,3,4,5])# 2. 也可以從NumPy數(shù)組創(chuàng)建numpy_arraynp.array([6,7,8,9,10],dtypenp.float32)tensor_from_numpyTensor(numpy_array)# 打印出我們創(chuàng)建的Tensorprint(Tensor from list:,tensor_from_list)print(Tensor from NumPy:,tensor_from_numpy)print(-*20)# 對Tensor進行操作tensor_addtensor_from_listtensor_from_numpyprint(Shape of the added tensor:,tensor_add.shape)print(Data type of the added tensor:,tensor_add.dtype)print(Result of addition:,tensor_add)運行與代碼講解當你運行上面的代碼你會看到如下輸出Tensor from list: [1 2 3 4 5] Tensor from NumPy: [ 6. 7. 8. 9. 10.] -------------------- Shape of the added tensor: (5,) Data type of the added tensor: Float32 Result of addition: [ 7. 9. 11. 13. 15.]mindspore.set_context(...): 這是一個全局設置函數(shù)我們用它來指定MindSpore的運行模式。這里我們設為PYNATIVE_MODE動態(tài)圖這樣代碼會像普通Python一樣逐行執(zhí)行便于理解。Tensor([...]): 這是創(chuàng)建張量的基本方法。我們可以直接傳入一個Python的列表list或者一個科學計算庫NumPy的數(shù)組。MindSpore和NumPy可以很好地協(xié)同工作。tensor_from_list tensor_from_numpy: MindSpore重載了常見的數(shù)學運算符。你可以像操作普通數(shù)字一樣直接對兩個張量進行加法非常直觀。.shape和.dtype: 這是張量的兩個重要屬性。.shape表示張量的形狀維度(5,)代表它是一個包含5個元素的一維數(shù)組。.dtype表示張量中元素的數(shù)據(jù)類型比如Float32代表32位浮點數(shù)。3.2 定義一個簡單的網(wǎng)絡 (Network)在MindSpore中所有的模型和網(wǎng)絡層都繼承自一個叫做nn.Cell的基類。我們來定義一個最簡單的“網(wǎng)絡”它只做一件事將輸入的數(shù)據(jù)加上一個固定的值。importmindsporefrommindsporeimportTensor,nn,ops# 繼承 nn.Cell 來定義自己的網(wǎng)絡classMySimpleNet(nn.Cell):def__init__(self):# 調(diào)用父類的__init__方法這是必須的super(MySimpleNet,self).__init__()# 在__init__中我們通常定義網(wǎng)絡中需要用到的“算子”opsself.addops.Add()# 創(chuàng)建一個可被訓練的參數(shù)初始值為10.0self.biasmindspore.Parameter(Tensor(10.0,mindspore.float32),namebias)defconstruct(self,x):# construct方法定義了數(shù)據(jù)的“流動”路徑也就是前向計算的邏輯# 這里我們將輸入x和我們的參數(shù)bias相加outputself.add(x,self.bias)returnoutput# 實例化我們定義的網(wǎng)絡netMySimpleNet()# 準備一個輸入張量input_tensorTensor([1,2,3],mindspore.float32)# 將輸入喂給網(wǎng)絡執(zhí)行計算output_tensornet(input_tensor)print(Input Tensor:,input_tensor)print(Output Tensor:,output_tensor)運行與代碼講解運行后輸出如下Input Tensor: [1. 2. 3.] Output Tensor: [11. 12. 13.]這段代碼雖然簡單但揭示了在MindSpore中構(gòu)建模型的核心模式class MySimpleNet(nn.Cell): 所有自定義的網(wǎng)絡都必須是一個繼承自nn.Cell的類。__init__(self): 類的構(gòu)造函數(shù)。在這里我們準備好網(wǎng)絡需要用到的“零件”。比如ops.Add()是一個加法算子。mindspore.Parameter是一種特殊的張量它告訴框架這是一個需要被訓練和更新的參數(shù)。construct(self, x): 這是nn.Cell的核心。所有計算邏輯都寫在這里。當網(wǎng)絡被調(diào)用時net(input_tensor)construct方法會被執(zhí)行。參數(shù)x就是輸入的張量返回值就是網(wǎng)絡的輸出。你可以看到輸入[1, 2, 3]經(jīng)過網(wǎng)絡后每一項都被加上了我們在__init__中定義的bias值為10得到了[11, 12, 13]。3.3 從真實項目管中窺豹理論和簡單的例子還不夠直觀讓我們看看MindSpore項目源碼中一個真實但已簡化的例子。在項目的tests/perf_test/lenet.py文件中定義了一個經(jīng)典的手寫數(shù)字識別網(wǎng)絡LeNet5。其結(jié)構(gòu)大致如下為便于理解已簡化# (代碼片段來自項目相對路徑: tests/perf_test/lenet.py)importmindspore.nnasnnfrommindspore.common.initializerimportTruncatedNormalclassLeNet5(nn.Cell): LeNet-5網(wǎng)絡結(jié)構(gòu) def__init__(self,num_class10,channel1):super(LeNet5,self).__init__()# 定義一個卷積層self.conv1nn.Conv2d(channel,6,5,pad_modevalid)# 定義另一個卷積層self.conv2nn.Conv2d(6,16,5,pad_modevalid)# 定義一個全連接層self.fc1nn.Dense(16*5*5,120,weight_initTruncatedNormal(0.02))# 另一個全連接層self.fc2nn.Dense(120,84,weight_initTruncatedNormal(0.02))# 最后輸出層self.fc3nn.Dense(84,num_class,weight_initTruncatedNormal(0.02))# 定義激活函數(shù)和池化層self.relunn.ReLU()self.max_pool2dnn.MaxPool2d(kernel_size2,stride2)self.flattennn.Flatten()defconstruct(self,x):# 這里是數(shù)據(jù)流動的過程xself.conv1(x)xself.relu(x)xself.max_pool2d(x)xself.conv2(x)xself.relu(x)xself.max_pool2d(x)xself.flatten(x)xself.fc1(x)xself.relu(x)xself.fc2(x)xself.relu(x)xself.fc3(x)returnx代碼講解你看這個真實的LeNet5網(wǎng)絡其組織形式和我們前面那個MySimpleNet是完全一樣的__init__: 定義了一堆“網(wǎng)絡層”的零件比如nn.Conv2d卷積層、nn.Dense全連接層、nn.ReLU激活函數(shù)等。這些都是MindSpore在mindspore.nn模塊中為我們預制好的標準件。construct: 像搭積木一樣把這些零件按照LeNet5的經(jīng)典結(jié)構(gòu)串聯(lián)起來。輸入數(shù)據(jù)x依次流過卷積、激活、池化、展平、全連接等一系列操作最后得到輸出。通過這個例子你應該能更深刻地體會到使用AI框架構(gòu)建復雜模型本質(zhì)上就是定義和組織這些預制模塊的過程。4. 總結(jié)我們知道了AI框架是幫助我們高效開發(fā)AI應用的“工具箱”和“預制件”。我們也認識了MindSpore一個致力于解決“全場景部署”、“分布式訓練復雜性”和“動靜態(tài)圖統(tǒng)一”等前沿挑戰(zhàn)的新一代框架。最后我們通過親手編寫和解讀代碼對MindSpore的編程范式有了第一次的親密接觸。這只是一個開始。在“MindSpore開發(fā)之路”的下一篇文章中我們將詳細講解如何搭建開發(fā)環(huán)境讓你真正在自己的機器上把代碼跑起來。
版權(quán)聲明: 本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請聯(lián)系我們進行投訴反饋,一經(jīng)查實,立即刪除!

做網(wǎng)站和seo哪個好去哪兒網(wǎng)站開發(fā)

做網(wǎng)站和seo哪個好,去哪兒網(wǎng)站開發(fā),wordpress用戶登錄教程,網(wǎng)站seo技術(shù)能不能賺錢溫馨提示#xff1a;文末有資源獲取方式系統(tǒng)概覽#xff1a;這是一款通用型微信小程序源碼系統(tǒng)#xff0c

2026/01/23 07:32:01

做網(wǎng)頁用的網(wǎng)站廣州網(wǎng)站建設加盟

做網(wǎng)頁用的網(wǎng)站,廣州網(wǎng)站建設加盟,青島網(wǎng)站建設平臺,信息發(fā)布網(wǎng)站設計網(wǎng)絡數(shù)據(jù)備份全攻略 一、備份的重要性與Samba相關備份任務 在當今的網(wǎng)絡環(huán)境中,大量的數(shù)據(jù)存儲于網(wǎng)絡之中,其中部分數(shù)據(jù)可能是數(shù)

2026/01/23 11:46:02