• [其他问题] yolov4.weights模型文件可以直接转换成mindspore模型吗?
    请问yolov4.weights模型文件可以直接转换成mindspore模型吗?请问yolov4-tiny-3l.weights模型文件可以直接转换成mindspore模型吗?
  • [活动体验] 《MindSpore学习第一步,官网教程初体验》
    很想做第一个任务,可惜我的华为云ID中没有任何数字。无奈只好做起第二个任务:2.访问官网教程的数据加载及处理,任务为先加载MINIST数据集(见附件),数据混洗后输出前4个样本,截图加载和输出。先下载好MNIST数据集,并将其解压:并进一步解压,将其放入train,test文件夹打开PyCharm没想到发现了昇腾训练营作业中也有MNIST数据集。那么加载的时候随便选吧。先新建一个Python文件:0708.pyimport mindspore.dataset as ds import matplotlib.pyplot as plt # 加载数据集 DATA_DIR = './MNIST_Data/train' mnist_dataset = ds.MnistDataset(DATA_DIR,num_samples=6, shuffle=False) # 查看之前的数据 print('查看混洗之前的数据') mnist_it = mnist_dataset.create_dict_iterator() for i in range(4): data = next(mnist_it) plt.imshow(data['image'].asnumpy().squeeze(), cmap=plt.cm.gray) plt.title(data['label'].asnumpy(), fontsize=20) plt.show() print(data['label']) # 数据混洗 ds.config.set_seed(58) ds1 = mnist_dataset.shuffle(buffer_size=10000) # 查看混洗之后的数据 print('查看混洗之后的数据') mnist_it = ds1.create_dict_iterator() for i in range(4): data = next(mnist_it) plt.imshow(data['image'].asnumpy().squeeze(), cmap=plt.cm.gray) plt.title(data['label'].asnumpy(), fontsize=20) plt.show() print(data['label'])执行后,效果如下:混洗之后:最终结果为:
  • [活动体验] MindSpore学习第一步,官网教程初体验(数据加载及处理)
    1、数据加载与处理,打印4张抽样的图2、邮箱chenkai5660689@huawei.com
  • [活动体验] MindSpore学习第一步,官网教程初体验,任务一
    1.华为账号:2.任务一:3.邮箱:1074502272@qq.com
  • [执行问题] mindspore多次进行mode.train后报错 TypeError
    【功能模块】from mindspore import Model【操作步骤&问题现象】1、mindspore多次进行mode.train后报错代码:import mindspore import numpy as np #引入numpy科学计算库 import matplotlib.pyplot as plt #引入绘** np.random.seed(123) #随机数生成种子 import mindspore.nn as nn import mindspore.ops as ops from mindspore import Tensor from mindspore import ParameterTuple, Parameter from mindspore import dtype as mstype from mindspore import Model import mindspore.dataset as ds from mindspore.train.callback import ModelCheckpoint, CheckpointConfig from mindspore.train.callback import LossMonitor # 数据集 class DatasetGenerator: def __init__(self): self.input_data = 2*np.random.rand(500, 1).astype(np.float32) self.output_data = 5+3*self.input_data+np.random.randn(500, 1).astype(np.float32) def __getitem__(self, index): return self.input_data[index], self.output_data[index] def __len__(self): return len(self.input_data) class Net(nn.Cell): def __init__(self, input_dims, output_dims): super(Net, self).__init__() self.matmul = ops.MatMul() self.weight_1 = Parameter(Tensor(np.random.randn(input_dims, 128), dtype=mstype.float32), name='weight_1') self.bias_1 = Parameter(Tensor(np.zeros(128), dtype=mstype.float32), name='bias_1') self.weight_2 = Parameter(Tensor(np.random.randn(128, 64), dtype=mstype.float32), name='weight_2') self.bias_2 = Parameter(Tensor(np.zeros(64), dtype=mstype.float32), name='bias_2') self.weight_3 = Parameter(Tensor(np.random.randn(64, output_dims), dtype=mstype.float32), name='weight_3') self.bias_3 = Parameter(Tensor(np.zeros(output_dims), dtype=mstype.float32), name='bias_3') def construct(self, x): x1 = self.matmul(x, self.weight_1)+self.bias_1 x2 = self.matmul(x1, self.weight_2)+self.bias_2 x3 = self.matmul(x2, self.weight_3)+self.bias_3 return x3 def main(): epochs = 1 net = Net(1, 1) # loss function loss = nn.MSELoss() # optimizer optim = nn.SGD(params=net.trainable_params(), learning_rate=0.000001) model = Model(net, loss, optim, metrics={'loss': nn.Loss()}) config_ck = CheckpointConfig(save_checkpoint_steps=10000, keep_checkpoint_max=10) ck_point = ModelCheckpoint(prefix="checkpoint_mlp", config=config_ck) x,y = np.array([[0.1]], dtype=np.float32), np.array([[0.1]], dtype=np.float32) def generator_multidimensional(): for i in range(10): yield (x, y) print(x, y) dataset = ds.GeneratorDataset(source=generator_multidimensional, column_names=["input", "output"]) model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=True) print('*'*100) x,y = np.array([[0.2]], dtype=np.float32), np.array([[0.2]], dtype=np.float32) model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=False) #right #False, False #False, True #True, True #not right #True, False if __name__ == '__main__': """ 设置运行的背景context """ from mindspore import context # 为mindspore设置运行背景context context.set_context(mode=context.PYNATIVE_MODE, device_target='GPU') #context.set_context(mode=context.GRAPH_MODE, device_target='GPU') import time a = time.time() main() b = time.time() #print(b-a)如果这样设置:model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=True) model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=True)或者:model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=False) model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=True)或者:model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=False) model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=False)都不报错。但是如果这样:model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=True) model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=False)则报错。求解答。。。。。。【截图信息】【日志信息】(可选,上传日志内容或者附件)WARNING: 'ControlDepend' is deprecated from version 1.1 and will be removed in a future version, use 'Depend' instead.[WARNING] ME(15290:139863196065920,MainProcess):2021-07-08-07:27:50.630.927 [mindspore/ops/operations/array_ops.py:2302] WARN_DEPRECATED: The usage of Pack is deprecated. Please use Stack.[[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]][[0.1]] [[0.1]]epoch: 1 step: 1, loss is 257.0921epoch: 1 step: 2, loss is 247.41833epoch: 1 step: 3, loss is 238.10895epoch: 1 step: 4, loss is 229.15019epoch: 1 step: 5, loss is 220.52858epoch: 1 step: 6, loss is 212.23181epoch: 1 step: 7, loss is 204.24725epoch: 1 step: 8, loss is 196.5634epoch: 1 step: 9, loss is 189.1686epoch: 1 step: 10, loss is 182.05246****************************************************************************************************[[0.2]]Traceback (most recent call last):  File "/tmp/pycharm_project_753/second_nnnew_line_regression.py", line 95, in <module> [[0.2]]    main()  File "/tmp/pycharm_project_753/second_nnnew_line_regression.py", line 75, in main[[0.2]] [[0.2]][[0.2]]     model.train(1, dataset, callbacks=LossMonitor(1), dataset_sink_mode=False)[[0.2]]  File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/train/model.py", line 592, in train[[0.2]] [[0.2]][[0.2]]     [[0.2]]sink_size=sink_size)  File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/train/model.py", line 385, in _train[[0.2]] [[0.2]][[0.2]]     [[0.2]]self._train_process(epoch, train_dataset, list_callback, cb_params)  File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/train/model.py", line 513, in _train_process[[0.2]] [[0.2]][[0.2]]     [[0.2]]outputs = self._train_network(*next_element)  File "/usr/local/python-3.7.5/lib/python3.7/site-packages/mindspore/nn/cell.py", line 351, in __call__[[0.2]] [[0.2]]    output = self.construct(*cast_inputs, **kwargs)TypeError: construct() takes 1 positional argument but 3 were given进程已结束,退出代码为 1
  • [活动体验] MindSpore学习第一步,官网教程初体验,任务一
    华为账号:任务一:邮箱:704899413@qq.com
  • [活动体验] MindSpore学习第一步,官网教程初体验
    1.华为云账号:  hwid_c7gbgw8wvl56bxs2.截图3.个人邮箱lyq87@126.com
  • [活动体验] MindSpore学习第一步,官网教程初体验
    1. 我的华为账号截图如下:2. 维度即为2*4*2,元素为8,输出相加的结果如下3. 我的邮箱65350562@qq.com
  • [特性分析] 【转载】中科院自动化所基于MindSpore推出全球首个三模态预训练模型
           日前,中国科学院自动化所(简称“自动化所”)基于全场景AI计算框架MindSpore训练完成全球首个图文音(视觉-文本-语音)三模态预训练模型(OPT-Omni-Perception pre-Trainer),该模型同时具备跨模态理解与跨模态生成能力,标志着预训练模型工作获得突破性进展。  自GPT/Bert模型提出后,预训练模型迎来了爆发式发展,其具有在无监督情况下自动学习不同任务、并快速迁移到不同领域数据的强大能力,而多模态预训练模型被广泛认为是从限定领域的弱人工智能迈向通用人工智能的路径探索。然而,互联网音视频数据呈高速增长,占比超过80%,纯文本的预训练模型只涵盖了互联网数据中的较少部分,更丰富的语音、图像、视频等数据并未被充分利用与学习,且人类的信息获取、环境感知、知识学习与表达,都是通过多模态信息方式来执行的。OpenAI 联合创始人、首席科学家 Ilya Sutskever 在推特上发文表示,“人工智能的长期目标是构建多模态神经网络,即AI能够学习不同模态之间的概念,从而更好地理解世界”。为实现更加通用的人工智能模型,预训练模型必然由单模态往多模态方向发展,将文本、语音、图像、视频等多模态内容联合起来进行学习。自动化所瞄准这一方向,成功构建视觉-文本-语音三模态预训练模型。  目前已有的多模态预训练模型通常仅考虑两个模态(如图像和文本,或者视频和文本),忽视了周围环境中普遍存在的语音信息,并且模型极少兼具理解与生成能力,难以在生成任务与理解类任务中同时取得良好表现。针对这些问题,自动化此次提出的视觉-文本-语音三模态预训练模型采用分别基于词条级别(Token-level)、模态级别(Modality-level)以及样本级别(Sample-level)的多层次、多任务子监督学习框架,更关注图-文-音三模态数据之间的关联特性以及跨模态转换问题,对更广泛、更多样的下游任务提供模型基础支撑。该模型不仅可实现跨模态理解(比如图像识别、语音识别等任务),也能完成跨模态生成(比如从文本生成图像、从图像生成文本、语音生成图像等任务)。灵活的自监督学习框架可同时支持三种或任两种模态弱关联数据进行预训练,有效降低了多模态数据收集与清洗成本。  三模态预训练模型基本原理  自动化所首次提出了视觉-文本-语音三模态预训练模型,实现了三模态间相互转换和生成。其核心原理是视觉、文本、语音不同模态通过各自编码器映射到统一语义空间,然后通过多头自注意力机制(Multi-head Self-attention)学习模态之间的语义关联以及特征对齐,形成多模态统一知识表示,再利用编码后的多模态特征,然后通过多头自注意力机制进行通过解码器分别生成文本、图像和语音。这里三模态互相转化和相互生成示意如图1所示:    图文音三模态相互转换与生成  多层次多任务自监督预训练学习  自动化提出的三模态预训练模型由单模态编码器、跨模态编码器和跨模态解码器构成。针对图文音三模态数据,我们提出三级预训练自监督学习方式:词条级别 (Token-level,Modality-level),模态级(Modality-level masking)以及样本级别(Sample-level masking) 。具体包括:  (1)词条级别(Token-level)学习:(a)文本掩码建模(Masked Language Modeling):随机掩盖一些文本单词,需要模型根据上下文预测被掩盖的单词是什么;(b)视觉掩码建模(Masked Vision Modeling):随机掩盖一些图像区域,让模型预测被掩盖的区域;(c)语音掩码建模(Masked Audio Modeling):随机掩盖一些语音词条(token),模型需要预测被掩盖的词条(token)是什么。  (2)模态级别(Modality-level)学习:包括文本重构和图像重构两个任务,分别学习重构输入文本和图像。团队引入模态级别掩码(Modality-Level Masking)机制随机地掩盖一个模态信息,使得模型需要根据其他模态信息对当前模态进行重构,从而能够进行下游的跨模态生成任务。这个机制也带来另一个好处—它使模型不仅能够处理三模态输入,也能处理两模态输入,从而适应下游的两模态任务。  (3)样本级别(Sample-level)学习:该预训练任务是通过对每个样本随机地替换三种模态信息中的一种或两种,让模型来预测替换哪些模态。  多维度自动混合并行极简训练  训练多模态大模型,用户需综合考虑模型参数量、计算量、计算类型、集群带宽拓扑和样本数量等才能设计出性能较优的并行切分策略,在考虑模型编码算法以外,还需要编写大量并行切分和通信代码。  MindSpore是业界首个支持全自动并行的AI计算框架,从如下维度进行多模态模型的加速训练。(1)MindSpore同时使用数据并行、算子级模型并行、Pipeline模型并行、优化器模型并行、异构并行、重计算、高效内存复用多维度、全种类的分布式并行策略;(2)依托多种类、多维度的并行策略,原创集群拓扑感知的多维度自动混合并行,实现超大模型自动切分,取得了比人工编写切分策略更优的结果,显著提升集群加速能力;(3)基于多维混合自动并行技术,原创新的DNN分布式并行编程范式,实现一行代码完成串行算法到并行算法的切换,使得开发者可以专注算法的研究;  基于上述优势,MindSpore为复杂的多模态大模型提供了极好的训练加速能力,同时也极大减少了系统性能优化的代价,大大缩短了代码开发、调试和训练的周期。  实验结果  自动化所主要采用Open Images数据集作为预训练数据,该数据包含图像、文本与音频数据。此外我们也额外地使用两模态数据,如Conceptual Caption图文数据集,Visual Genome图文数据集等。当加入额外的两模态数据时,这些两模态与三模态数据则被随机混合进行训练。  自动化所主要进行了以下两方面的实验验证:  (1)图文音三模态关联编码与相互生成性能:分别在多模态融合的图像分类、任意两模态的相互检索以及语音识别任务中,与常规全监督方法进行了性能比较,均取得了性能上的显著提升。其中在多模态融合的图像分类任务中,与常规全监督的Resnet101网络模型相比,性能提升5%;加入语音模态信息能够明显提升以文搜图的性能,验证了联合建模视觉-文本-语音三模态信息的必要性。  (2)多模态下游任务性能:分别在跨模态检索、视觉问答与图像语义描述任务中,与  当前最新的图文两模态预训练模型进行了性能比较,在补充了图文两模态数据参与预训练的模型上,取得了具有竞争力甚至更好的实验性能。  以图生音示例(短视频)   以音生图示例(短视频)  总结  三模态预训练模型的提出将改变当前单一模型对应单一任务的人工智研发范式,三模态图文音的统一语义表达将大幅提升文本、语音、图像和视频等领域的基础任务性能,并在多模态内容的理解、搜索、推荐和问答,语音识别和合成,人机交互和无人驾驶等商业应用中具有潜力巨大的市场价值。  “大数据+大模型+多模态”多任务统一学习将引领就技术发展的潮流,中科院自动化所所长徐波将在2021世界人工智能大会(WAIC)昇腾人工智能高峰论坛上介绍跨模态通用人工智能平台,更多信息敬请关注。转自文章链接:https://www.toutiao.com/i6982017549063979558/?tt_from=weixin&utm_campaign=client_share&wxshare_count=7&timestamp=1625632239&app=news_article&utm_source=weixin&utm_medium=toutiao_android&use_new_style=1&req_id=202107071230380101351571951E02DF98&share_token=963cfed7-6279-464f-8f8f-a5863944df95&group_id=6982017549063979558感谢作者的努力与分享,侵权立删!
  • [活动体验] [活动体验] [热门活动] MindSpore学习,官网教程初体验-mnist数据集加载混洗并打印
    [活动体验] [热门活动] MindSpore学习,官网教程初体验-mnist数据集加载混洗并打印华为云账号 cftang
  • [活动体验] MindSpore学习第一步,官网教程初体验!活动一
    活动一:任务一邮箱:461084847@qq.com
  • [活动体验] MindSpore学习第一步,官网教程初体验
    1.华为云账号:hw_008618865595362_012. 维度即为8*6*1,元素为8,输出相加的结果如下3. 我的邮箱duan5134991@vip.qq.com
  • [活动体验] [活动体验] MindSpore学习第一步,官网初体验
    [活动体验] MindSpore学习第一步,官网初体验华为云账号:cftang
  • [推理] 【MindSpore】test结果不一致
    在我的使用过程中发现,连续两次调用同一段test函数,得到的结果不一致。有点奇怪。以下是我的main函数if __name__ == '__main__': # 创建数据集 print('===> Loading datasets') train_set = get_training_set(join(opt.data_dir, opt.data_train), opt.hr_train_dataset, opt.upscale_factor, opt.patch_size, opt.data_augmentation, opt.data_range) training_data_loader = ds.GeneratorDataset(source=train_set, column_names=["input", "target"], num_parallel_workers=opt.threads, shuffle=True) training_data_loader = training_data_loader.batch(opt.batchSize, drop_remainder=True) if opt.data_test == 'DIV2K': hr_valid = 'DIV2K_train_HR' data_range = opt.data_range else: opt.data_dir = join(opt.data_dir, 'benchmark') data_range= '0' hr_valid = 'HR' test_set = get_training_set(join(opt.data_dir, opt.data_test), hr_valid, opt.upscale_factor,opt.patch_size, opt.data_augmentation, data_range, isTrain=False) testing_data_loader = ds.GeneratorDataset(source=test_set, column_names=["input", "target"], num_parallel_workers=opt.threads, shuffle=True) testing_data_loader = testing_data_loader.batch(1, drop_remainder=False) print(len(train_set), len(test_set)) print('===> Building model ', opt.model) if opt.model == 'edsr': net = EDSR(opt) else: print('Not implemented...') test(net, testing_data_loader) test(net, testing_data_loader)其中test()函数如下:def test(net, test_loader, width_mult=1): _psnr = nn.PSNR() _ssim = nn.SSIM() psnr = 0.0 ssim = 0.0 bic_psnr = 0.0 for item in test_loader.create_dict_iterator(): lr = item["input"] hr = item["target"] sr = net(lr, width_mult) psnr += _psnr(sr, hr) ssim += _ssim(sr, hr) print(f"PSNR:{psnr / test_loader.get_dataset_size()}, SSIM:{ssim / test_loader.get_dataset_size()}" f"BIC PSNR: {bic_psnr / test_loader.get_dataset_size()}")
  • [主题讨论] 关于MindSpore使用过程中的一些感想
    做的好的地方:1、框架上手容易,设计思路和训练逻辑十分清晰,便于模型的搭建和开发。2、版本迭代更新迅速,对于常见的需要使用的算子,在版本更新时能很快补充上;对于部分嵌套关系混乱的包文件,在新版本迭代时能及时予以简化和处理,如图像增强相关的包。3、指导老师非常细心、非常负责。工程师们十分重视同学们的遇到的困难和挑战,并耐心分析、及时提出合理的建议,帮助同学们渡过难关。除此之外,很多mindspore和昇腾的老师也在努力宣传,尽可能扩大mindspore的知名度,让更多的高校教师和同学参与到mindspore的建设中来。有待改进的地方:1、社区建设不够完善,mindspore普及率和使用者数量不高,很多bug无法在大型blog平台(如CSDN,博客园,stackoverflow)上直接找到答案,更多时候是靠自己检查以及同学们之间的相互交流。2、所需环境有限制。mindspore 1.2目前仍仅支持python3.7,且GPU版本下仅支持cuda10.1,不适配RTX30系显卡。3、线性加速比不理想。多卡并行下的自动切分功能虽然极大的方便了开发者的使用,但是线性加速比不够高,达不到理想水平。4、希望官方可以出更多系列性的,有阶梯性的课程。另外可以和部分高校深入合作,将mindspore作为校内正式的选修课供同学们选择,这样无疑会快速扩大mindspore的知名度和影响力。