MindSpore基礎實踐》——MindSpore基礎

      網友投稿 1575 2025-04-01

      1 MindSpore介紹

      1.1 關于MindSpore

      MindSpore是端邊云全場景按需協同的華為自研AI計算框架,提供全場景統一API,為全場景AI的模型開發、模型運行、模型部署提供端到端能力。

      MindSpore采用端-邊-云按需協作分布式架構、微分原生編程新范式以及AI Native新執行模式,實現更好的資源效率、安全可信,同時降低行業AI開發門檻、釋放昇騰芯片算力,助力普惠AI。

      詳情參考:MindSpore官網

      1.2 MindSpore安裝

      MindSpore支持Ascend、GPU、CPU,大家可以根據自己的平臺的選擇適合自己的MindSpore包,下面以Windows平臺為例進行安裝。

      MindSpore是支持Windows平臺的,只不過只能以CPU的模式運行(暫時不支持Windows平臺的GPU)。如果希望嘗試MindSpore對GPU的支持,需要使用Ubuntu系列或者華為的EulerOS。

      1.3 安裝Anaconda

      非常推薦使用Anaconda作為Python虛擬環境的管理。

      你可以去Anaconda官網下載,一路Next即可。

      1.4 創建MindSpore的Python Env

      目前MindSpore僅僅支持Python 3.7.5,下面創建的pyhton env就叫做mindspore:

      conda create -n mindspore python=3.7.5

      1.5 安裝MindSpore

      我們使用pip方式進行安裝

      pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.2.1/MindSpore/cpu/windows_x64/mindspore-1.2.1-cp37-cp37m-win_amd64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

      1.6 驗證是否安裝成功

      python -c “import mindspore;print(mindspore.version)”

      如果輸出MindSpore版本號,說明MindSpore安裝成功了,如果輸出No module named 'mindspore'說明未安裝成功。

      2 MindSpore基礎

      2.1 張量和數據類型

      張量(Tensor)是MindSpore網絡運算中的基本數據結構。張量中的數據類型可參考dtype。

      不同維度的張量分別表示不同的數據,0維張量表示標量,1維張量表示向量,2維張量表示矩陣,3維張量可以表示彩色圖像的RGB三通道等等。

      MindSpore張量支持不同的數據類型,包含int8、int16、int32、int64、uint8、uint16、uint32、uint64、float16、float32、float64、bool_,與NumPy的數據類型一一對應。

      在MindSpore的運算處理流程中,Python中的int數會被轉換為定義的int64類型,float數會被轉換為定義的float32類型。

      步驟 1 指定MindSpore數據類型

      導入MindSpore,設置Jupyter notebook的cell同時輸出多行。

      # 導入MindSpore import mindspore from mindspore import dtype from mindspore import Tensor # cell同時輸出多行 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"

      # 指定數據類型 a = 1 type(a) b = Tensor(a, dtype.float64) b.dtype

      步驟 2 張量構造

      構造張量時,支持傳入Tensor、float、int、bool、tuple、list和NumPy.array類型,其中tuple和list里只能存放float、int、bool類型數據。

      Tensor初始化時,可指定dtype。如果沒有指定dtype,初始值int、float、bool分別生成數據類型為mindspore.int32、mindspore.float32、mindspore.bool_的0維Tensor, 初始值tuple和list生成的1維Tensor數據類型與tuple和list里存放的數據類型相對應,如果包含多種不同類型的數據,則按照優先級:bool < int < float,選擇相對優先級最高類型所對應的mindspore數據類型。 如果初始值是Tensor,則生成的Tensor數據類型與其一致;如果初始值是NumPy.array,則生成的Tensor數據類型與之對應。

      用數組創建張量

      import numpy as np from mindspore import Tensor # 用數組創建張量 x = Tensor(np.array([[1, 2], [3, 4]]), dtype.int32) x

      用數值創建張量

      # 用數值創建張量 y = Tensor(1.0, dtype.int32) z = Tensor(2, dtype.int32) y z

      用Bool創建張量

      # 用Bool創建張量 m = Tensor(True, dtype.bool_) m

      用tuple創建張量

      # 用tuple創建張量 n = Tensor((1, 2, 3), dtype.int16) n

      用list創建張量

      # 用list創建張量 p = Tensor([4.0, 5.0, 6.0], dtype.float64) p

      用常量創建張量

      # 用常量創建張量 q = Tensor(1, dtype.float64) q

      步驟 3 張量的屬性

      張量的屬性包括形狀(shape)和數據類型(dtype)。

      形狀:Tensor的shape,是一個tuple。

      數據類型:Tensor的dtype,是MindSpore的一個數據類型。

      x = Tensor(np.array([[1, 2], [3, 4]]), dtype.int32) x_shape = x.shape # 形狀 x_dtype = x.dtype # 數據類型 x_shape x_dtype

      x = Tensor(np.array([[1, 2], [3, 4]]), dtype.int32) x.shape # 形狀 x.dtype # 數據類型 x.ndim # 維度 x.size # 大小

      步驟 4 張量的方法

      asnumpy():將Tensor轉換為NumPy的array。

      y = Tensor(np.array([[True, True], [False, False]]), dtype.bool_) # 將Tensor數據類型轉換成NumPy y_array = y.asnumpy() y y_array

      2.2 數據集加載

      MindSpore.dataset提供API來加載和處理各種常見的數據集,如MNIST, CIFAR-10, CIFAR-100, VOC, ImageNet, CelebA等。

      步驟 1 加載MNIST數據集

      mindspore.dataset.MnistDataset

      import os import mindspore.dataset as ds import matplotlib.pyplot as plt dataset_dir = "./data/train" # 數據集路徑 # 從mnist dataset讀取3張圖片 mnist_dataset = ds.MnistDataset(dataset_dir=dataset_dir, num_samples=3) # 設置圖像大小 plt.figure(figsize=(8,8)) i = 1 # 打印3張子圖 for dic in mnist_dataset.create_dict_iterator(output_numpy=True): plt.subplot(3,3,i) plt.imshow(dic['image'][:,:,0]) plt.axis('off') i +=1 plt.show()

      《MindSpore基礎實踐》——MindSpore基礎

      MindSpore還支持加載多種數據存儲格式下的數據集,用戶可以直接使用mindspore.dataset中對應的類加載磁盤中的數據文件。

      步驟 2 加載NumPy數據集

      mindspore.dataset.NumpySlicesDataset

      import mindspore.dataset as ds data = ds.NumpySlicesDataset([1, 2, 3], column_names=["col_1"]) for x in data.create_dict_iterator(): print(x)

      3 參考資料

      https://gitee.com/mindspore/mindspore

      https://github.com/mindspore-ai/mindspore

      MindSpore

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:SVG 分支switch
      下一篇:開天aPaaS平臺(開天aPaaS)
      相關文章
      亚洲人成色777777在线观看| 久久久久亚洲av无码专区| 亚洲免费一区二区| 亚洲性69影院在线观看| 亚洲a一级免费视频| 久久精品夜色噜噜亚洲A∨| 国产亚洲人成在线影院| 亚洲heyzo专区无码综合| 亚洲色www永久网站| 亚洲欧洲日韩极速播放| 亚洲综合色丁香婷婷六月图片| 亚洲第一精品电影网| 亚洲白嫩在线观看| 亚洲一本之道高清乱码| 国产精品亚洲专区在线观看| 亚洲婷婷第一狠人综合精品| 亚洲AV综合色区无码二区偷拍| 亚洲欧洲校园自拍都市| 亚洲av片不卡无码久久| 中文字幕无码亚洲欧洲日韩| 亚洲日本VA中文字幕久久道具| 亚洲成a∨人片在无码2023 | 亚洲国产精品自在在线观看 | 亚洲av无码兔费综合| 日韩亚洲人成在线综合| 亚洲成人一区二区| 国产亚洲精品仙踪林在线播放| 伊人久久亚洲综合影院| 久久亚洲av无码精品浪潮| 亚洲一区二区三区在线观看精品中文| 国产亚洲综合网曝门系列| 亚洲第一视频网站| 亚洲成a人片在线观看播放| 色婷五月综激情亚洲综合 | 亚洲精品乱码久久久久久按摩 | 豆国产96在线|亚洲| 亚洲一级特黄大片无码毛片| 亚洲人成77777在线播放网站| 午夜亚洲www湿好大| 亚洲人成伊人成综合网久久| 亚洲精品国产精品|