
mindspore掌中寶 手機(jī)安卓版v1.2.4
軟件類型: 辦公學(xué)習(xí) | 軟件大小: 83.21MB
軟件語言: 簡(jiǎn)體中文 | 更新時(shí)間: 2021-03-16
mindspore掌中寶是依靠功能強(qiáng)大的ai計(jì)算框架,不僅在學(xué)術(shù)上有著巨大的作用,也能滿足工業(yè)方面的性能需求,支持照片檢測(cè)、代碼分享、場(chǎng)景識(shí)別等諸多功能,對(duì)于開發(fā)者而言此軟件也極為實(shí)用,極大提升了編程的效率,讓用戶可在短時(shí)間內(nèi)完成調(diào)試及部署等操作。
軟件功能
1、識(shí)別垃圾類別,通過垃圾分類功能可以利用相機(jī)檢測(cè)識(shí)別垃圾的類別;
2、檢測(cè)場(chǎng)景范圍狀況,使用場(chǎng)景檢測(cè)功能掃描識(shí)別當(dāng)前的場(chǎng)景并獲取參數(shù)信息;
3、照片經(jīng)檢測(cè)識(shí)別,點(diǎn)擊照片檢測(cè)即可馬上打開照片并查看其中的各種檢測(cè)元素;
4、給該軟件點(diǎn)贊,能在我的主頁選擇點(diǎn)贊功能并根據(jù)自己的使用體驗(yàn)給軟件點(diǎn)贊;
5、將軟件分享給自己的好友,選擇并點(diǎn)擊一鍵分享功能即可將軟件分享;
6、查詢代碼資源,進(jìn)入到官方代碼倉中就能從中查找需要的代碼內(nèi)容資源;
軟件特色
極致性能
高效的內(nèi)核算法和匯編級(jí)優(yōu)化,支持CPU、GPU、NPU異構(gòu)調(diào)度,最大化發(fā)揮硬件算力,最小化推理時(shí)延和功耗。
輕量化
提供超輕量的解決方案,支持模型量化壓縮,模型更小跑得更快,使能AI模型極限環(huán)境下的部署執(zhí)行。
全場(chǎng)景支持
支持iOS、Android等手機(jī)操作系統(tǒng)以及LiteOS嵌入式操作系統(tǒng),支持手機(jī)、大屏、平板、IoT等各種智能設(shè)備上的AI應(yīng)用。
高效部署
支持MindSpore/TensorFlow Lite/Caffe/Onnx模型,提供模型壓縮、數(shù)據(jù)處理等能力,統(tǒng)一訓(xùn)練和推理IR,方便用戶快速部署。
快速入門
通過一個(gè)實(shí)際樣例實(shí)現(xiàn)手寫數(shù)字的識(shí)別,帶領(lǐng)大家體驗(yàn)MindSpore基礎(chǔ)的功能,一般來說,完成整個(gè)樣例實(shí)踐會(huì)持續(xù)20~30分鐘。
情感分析
構(gòu)建一個(gè)自然語言處理的模型,通過文本分析和推理實(shí)現(xiàn)情感分析,完成對(duì)文本的情感分類。
圖像分類
結(jié)合CIFAR-10數(shù)據(jù)集,講解MindSpore如何處理圖像分類任務(wù)。
識(shí)別貓狗APP
在PC上對(duì)預(yù)訓(xùn)練模型進(jìn)行重訓(xùn),在手機(jī)終端完成推理和部署,1小時(shí)內(nèi)體驗(yàn)MindSpore端邊云全場(chǎng)景開發(fā)流程。
適用場(chǎng)景
圖像分類
您可以使用預(yù)制圖像分類模型,識(shí)別攝像頭輸入幀中的物體。
目標(biāo)檢測(cè)
您可以使用預(yù)置目標(biāo)檢測(cè)模型,檢測(cè)標(biāo)識(shí)攝像頭輸入幀中的對(duì)象并添加標(biāo)簽,并用邊框標(biāo)識(shí)出來。
圖像分割
圖像分割可用于檢測(cè)目標(biāo)在圖片中的位置或者圖片中某一像素是輸入何種對(duì)象的。
加載圖像數(shù)據(jù)集
準(zhǔn)備
導(dǎo)入模塊
該模塊提供API以加載和處理數(shù)據(jù)集。
import mindspore.dataset as ds
下載所需數(shù)據(jù)集
運(yùn)行以下命令來下載MNIST數(shù)據(jù)集的訓(xùn)練圖像和標(biāo)簽并解壓,存放在./datasets/MNIST_Data路徑中,目錄結(jié)構(gòu)如下:
!unzip -o MNIST_Data.zip -d ./datasets
!tree ./datasets/MNIST_Data/
./datasets/MNIST_Data/
├── test
│ ├── t10k-images-idx3-ubyte
│ └── t10k-labels-idx1-ubyte
└── train
├── train-images-idx3-ubyte
└── train-labels-idx1-ubyte
2 directories, 4 files
加載數(shù)據(jù)集
MindSpore目前支持加載圖像領(lǐng)域常用的經(jīng)典數(shù)據(jù)集和多種數(shù)據(jù)存儲(chǔ)格式下的數(shù)據(jù)集,用戶也可以通過構(gòu)建自定義數(shù)據(jù)集類實(shí)現(xiàn)自定義方式的數(shù)據(jù)加載。
下面演示使用mindspore.dataset模塊中的MnistDataset類加載MNIST訓(xùn)練數(shù)據(jù)集。
1.配置數(shù)據(jù)集目錄,創(chuàng)建MNIST數(shù)據(jù)集對(duì)象。
DATA_DIR = './datasets/MNIST_Data/train'
mnist_dataset = ds.MnistDataset(DATA_DIR, num_samples=6, shuffle=False)
2.創(chuàng)建字典迭代器,通過迭代器獲取一條數(shù)據(jù),并將數(shù)據(jù)進(jìn)行可視化。
import matplotlib.pyplot as plt
mnist_it = mnist_dataset.create_dict_iterator()
data = next(mnist_it)
plt.imshow(data['image'].asnumpy().squeeze(), cmap=plt.cm.gray)
plt.title(data['label'].asnumpy(), fontsize=20)
plt.show()
../_images/use_load_dataset_image_16_0.png
此外,用戶還可以在數(shù)據(jù)集加載時(shí)傳入sampler參數(shù)用來指定數(shù)據(jù)采樣方式。MindSpore目前支持的數(shù)據(jù)采樣器及其詳細(xì)使用方法,可參考編程指南中采樣器章節(jié)。
數(shù)據(jù)處理
下面演示構(gòu)建pipeline,對(duì)MNIST數(shù)據(jù)集進(jìn)行shuffle、batch、repeat等操作。
操作前的數(shù)據(jù)如下:
for data in mnist_dataset.create_dict_iterator():
print(data['label'])
5
0
4
1
9
2
1.對(duì)數(shù)據(jù)進(jìn)行混洗。
ds.config.set_seed(58)
ds1 = mnist_dataset.shuffle(buffer_size=6)
print('after shuffle: ')
for data in ds1.create_dict_iterator():
print(data['label'])
after shuffle:
4
2
1
0
5
9
2.對(duì)數(shù)據(jù)進(jìn)行分批。
ds2 = ds1.batch(batch_size=2)
print('after batch: ')
for data in ds2.create_dict_iterator():
print(data['label'])
after batch:
[4 2]
[1 0]
[5 9]
3.對(duì)pipeline操作進(jìn)行重復(fù)。
ds3 = ds2.repeat(count=2)
print('after repeat: ')
for data in ds3.create_dict_iterator():
print(data['label'])
after repeat:
[4 2]
[1 0]
[5 9]
[2 4]
[0 9]
[1 5]
可以看到,數(shù)據(jù)集被擴(kuò)充成兩份,且第二份數(shù)據(jù)的順序與第一份不同。
說明:
因?yàn)閞epeat將對(duì)整個(gè)數(shù)據(jù)處理pipeline中已經(jīng)定義的操作進(jìn)行重復(fù),而不是單純將此刻的數(shù)據(jù)進(jìn)行復(fù)制,故第二份數(shù)據(jù)執(zhí)行shuffle后與第一份數(shù)據(jù)順序不同。
數(shù)據(jù)增強(qiáng)
下面演示使用c_transforms模塊對(duì)MNIST數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)。
1.導(dǎo)入相關(guān)模塊,重新加載數(shù)據(jù)集。
from mindspore.dataset.vision import Inter
import mindspore.dataset.vision.c_transforms as transforms
mnist_dataset = ds.MnistDataset(DATA_DIR, num_samples=6, shuffle=False)
2.定義數(shù)據(jù)增強(qiáng)算子,對(duì)數(shù)據(jù)集執(zhí)行Resize和RandomCrop操作。
resize_op = transforms.Resize(size=(200,200), interpolation=Inter.LINEAR)
crop_op = transforms.RandomCrop(150)
transforms_list = [resize_op, crop_op]
ds4 = mnist_dataset.map(operations=transforms_list,input_columns='image')
3.查看數(shù)據(jù)增強(qiáng)效果。
mnist_it = ds4.create_dict_iterator()
data = next(mnist_it)
plt.imshow(data['image'].asnumpy().squeeze(), cmap=plt.cm.gray)
plt.title(data['label'].asnumpy(), fontsize=20)
plt.show()
加載文本數(shù)據(jù)集
準(zhǔn)備
1.準(zhǔn)備文本數(shù)據(jù)如下。
Welcome to Beijing!
北京歡迎您!
我喜歡English!
2.創(chuàng)建tokenizer.txt文件并復(fù)制文本數(shù)據(jù)到該文件中,將該文件存放在./test路徑中,目錄結(jié)構(gòu)如下。
└─test
└─tokenizer.txt
3.導(dǎo)入mindspore.dataset和mindspore.dataset.text模塊。
import mindspore.dataset as ds
import mindspore.dataset.text as text
加載數(shù)據(jù)集
MindSpore目前支持加載文本領(lǐng)域常用的經(jīng)典數(shù)據(jù)集和多種數(shù)據(jù)存儲(chǔ)格式下的數(shù)據(jù)集,用戶也可以通過構(gòu)建自定義數(shù)據(jù)集類實(shí)現(xiàn)自定義方式的數(shù)據(jù)加載。
下面演示使用mindspore.dataset中的TextFileDataset類加載數(shù)據(jù)集。
1.配置數(shù)據(jù)集目錄,創(chuàng)建數(shù)據(jù)集對(duì)象。
DATA_FILE = "./test/tokenizer.txt"
dataset = ds.TextFileDataset(DATA_FILE, shuffle=False)
2.創(chuàng)建迭代器,通過迭代器獲取數(shù)據(jù)。
for data in dataset.create_dict_iterator(output_numpy=True):
print(text.to_str(data['text']))
獲取到分詞前的數(shù)據(jù):
Welcome to Beijing!
北京歡迎您!
我喜歡English!
數(shù)據(jù)處理
MindSpore目前支持的數(shù)據(jù)處理算子及其詳細(xì)使用方法,可參考編程指南中數(shù)據(jù)處理章節(jié)。
下面演示構(gòu)建pipeline,對(duì)文本數(shù)據(jù)集進(jìn)行混洗和文本替換操作。
1.對(duì)數(shù)據(jù)集進(jìn)行混洗。
ds.config.set_seed(58)
dataset = dataset.shuffle(buffer_size=3)
for data in dataset.create_dict_iterator(output_numpy=True):
print(text.to_str(data['text']))
輸出結(jié)果如下:
我喜歡English!
Welcome to Beijing!
北京歡迎您!
2.對(duì)數(shù)據(jù)集進(jìn)行文本替換。
replace_op1 = text.RegexReplace("Beijing", "Shanghai")
replace_op2 = text.RegexReplace("北京", "上海")
dataset = dataset.map(operations=[replace_op1, replace_op2])
for data in dataset.create_dict_iterator(output_numpy=True):
print(text.to_str(data['text']))
輸出結(jié)果如下:
我喜歡English!
Welcome to Shanghai!
上海歡迎您!
數(shù)據(jù)分詞
MindSpore目前支持的數(shù)據(jù)分詞算子及其詳細(xì)使用方法,可參考編程指南中分詞器章節(jié)。
下面演示使用WhitespaceTokenizer分詞器來分詞,該分詞是按照空格來進(jìn)行分詞。
1.創(chuàng)建tokenizer。
tokenizer = text.WhitespaceTokenizer()
2.執(zhí)行操作tokenizer。
dataset = dataset.map(operations=tokenizer)
3.創(chuàng)建迭代器,通過迭代器獲取數(shù)據(jù)。
for data in dataset.create_dict_iterator(output_numpy=True):
print(text.to_str(data['text']).tolist())
獲取到分詞后的數(shù)據(jù):
['我喜歡English!']
['Welcome', 'to', 'Shanghai!']
['上海歡迎您!']
特別說明
軟件信息
- 包名:com.mindspore.himindspore
- MD5:8EF306168B5F6588A082C9E8612B1209