当前位置: 首页 > news >正文

网站做支付功能服装类电子商务网站建设报告

网站做支付功能,服装类电子商务网站建设报告,WordPress缺省图,网站服务器租赁你的知识宝库大家好#xff0c;我是刘明#xff0c;明志科技创始人#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享#xff0c;如果你也喜欢我的文章#xff0c;就点个关注吧 MindSpore官网提供了一份在使用MindSpore… 大家好我是刘明明志科技创始人华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享如果你也喜欢我的文章就点个关注吧 MindSpore官网提供了一份在使用MindSpore过程中的 FAQ 本章也整理了一下在迁移文档中提及的常见问题及解决方法。 环境准备 Q: 如何搭建MindSpore环境 A: MindSpore目前支持在昇腾、GPU、CPU等多种设备上运行但在安装过程中需要注意选择配套的硬件平台、操作系统、Python版本否则会出现很多不可预测的报错。详细可参考 安装指导 。 更多环境准备常见问题请参考 环境准备常见问题分析 。 模型分析与准备 Q: 如何查看MindSpore对迁移代码中的API支持程度 A: 可以使用API自动扫描工具MindSpore Dev Toolkit推荐或手动查询API映射表进行分析。详细可参考 分析API满足度 。 数据处理 Q: 怎么将PyTorch的dataset转换成MindSpore的dataset A: MindSpore和PyTorch的自定义数据集逻辑是比较类似的首先需要用户先定义一个自己的 dataset 类该类负责定义 init 、 getitem 、 len 来读取自己的数据集然后将该类实例化为一个对象如: dataset/dataset_generator 最后将这个实例化对象传入 GeneratorDataset (mindspore用法)/ DataLoader (pytorch用法)至此即可以完成自定义数据集加载了。 而MindSpore在 GeneratorDataset 的基础上提供了进一步的 map - batch 操作可以很方便地让用户在 map 内添加一些其他的自定义操作并将其 batch 起来。 对应的MindSpore的自定义数据集加载如下: # 1 Data enhancement,shuffle,sampler. class Mydata:def __init__(self):np.random.seed(58)self.__data np.random.sample((5, 2))self.__label np.random.sample((5, 1))def __getitem__(self, index):return (self.__data[index], self.__label[index])def __len__(self):return len(self.__data) dataset_generator Mydata() dataset ds.GeneratorDataset(dataset_generator, [data, label], shuffleFalse) # 2 Customized data enhancement dataset dataset.map(operationspyFunc, {other_params}) # 3 batch dataset dataset.batch(batch_size, drop_remainderTrue) Q: 为什么在迭代数据的时候会报错“The actual amount of data read from generator xx is different from generator.len xx, you should adjust generator.len to make them match” A: 在定义可随机访问数据集时 len 方法返回的结果一定要是真实的数据集大小设置大了在 getitem 取值时会有越界问题。如数据集大小未确定可以使用可迭代数据集详见 自定义数据集 。 Q: 为什么在迭代数据的时候会报错“Invalid Python function, the ‘source’ of ‘GeneratorDataset’ should return same number of NumPy arrays as specified in column_names, the size of column_names is:xx and number of returned NumPy array is:xx” A: 这是因为GeneratorDataset的 column_names 参数指定的列名数量与 source 参数输出的数据数量不匹配。 Q: 使用 GeneratorDataset 或 map 进行加载/处理数据时可能会因为语法错误、计算溢出等问题导致数据报错如何进行排查和调试 A: 观察报错栈信息由报错栈信息大概定位到出错代码块在出错的代码块附近添加打印或调试点进一步调试。详细可参考 数据处理调试方法一 。 Q: 数据增强 map 操作出错如何调试 map 操作中各个数据处理算子 A: 可以通过单个算子执行的方式调试或者通过数据管道调试模式调试 map 操作。 Q: 在训练的时候会获得非常多warning提示我们数据集性能较慢应该怎么处理 A: 可以单独迭代数据集查看每条数据的处理时间以此判断数据集的性能如何。详细可参考 数据处理调试方法三 。 Q: 在对数据进行处理的过程中如果因为计算错误、数值溢出等因素产生了异常的结果数值从而导致训练网络时算子计算溢出、权重更新异常等问题该怎么排查 A: 关闭混洗固定随机种子确保可重现性然后利用NumPy等工具快速校验结果。详细可参考 数据处理调试方法四 。 更多数据处理常见问题请参考 数据处理常见问题分析 以及迁移中的数据处理差异请参考 MindSpore和PyTorch的数据处理差异 。 梯度求导 Q: 如何自己实现算子的反向计算 A: MindSpore提供了自动的梯度求导接口该功能对用户屏蔽了大量的求导细节和过程。但如果有某些特殊场景用户需要手动控制其反向的计算用户也可以通过Cell.bprop接口对其反向进行定义。详细可参考 自定义Cell反向 。 Q: 如何处理梯度溢出造成训练不稳定的问题 A: 网络溢出一般表现为loss Nan/INFloss突然变得很大等。MindSpore提供 dump数据 获取到溢出算子信息。当网络中出现梯度下溢时可使用loss scale配套梯度求导使用详细可参考 loss scale 当网络出现梯度爆炸时可考虑添加梯度裁剪详细可参考 梯度裁剪 。 调试调优 Q: 请问想加载PyTorch预训练好的模型用于MindSpore模型finetune有什么方法 A: 需要把PyTorch和MindSpore的参数进行一一对应因为网络定义的灵活性所以没办法提供统一的转化脚本。 一般情况下CheckPoint文件中保存的就是参数名和参数值调用相应框架的读取接口后获取到参数名和数值后按照MindSpore格式构建出对象就可以直接调用MindSpore接口保存成MindSpore格式的CheckPoint文件了。 其中主要的工作量为对比不同框架间的parameter名称做到两个框架的网络中所有parameter name一一对应(可以使用一个map进行映射)下面代码的逻辑转化parameter格式不包括对应parameter name。 import torch import mindspore as msdef pytorch2mindspore(default_file torch_resnet.pth):# read pth filepar_dict torch.load(default_file)[state_dict]params_list []for name in par_dict:param_dict {}parameter par_dict[name]param_dict[name] nameparam_dict[data] ms.Tensor(parameter.numpy())params_list.append(param_dict)ms.save_checkpoint(params_list, ms_resnet.ckpt) Q: loss不收敛或精度不达标该怎么定位 A: 精度不达标一般体现在loss不收敛上。但是有很多复杂的原因可导致精度达不到预期定位难度较大。这里提供几个指导链接供用户逐一排查问题。 Q: 模型训练过程中第一个step耗时很长该怎么优化 A: 模型训练过程中第一个step包含网络编译时长如果想要优化第一个step的性能可分析模型编译是否能进行优化。详细可参考 静态图网络编译性能优化 。 Q: 模型训练过程中非首个step耗时很长该怎么优化 A: 模型训练过程中非首个step的耗时包括迭代间隙、前反向计算和迭代拖尾如果想要优化非首step的性能需要先获取网络的迭代轨迹再分析哪部分是性能瓶颈最近进行性能优化。 详细可参考 性能调优指南 和 性能调试案例 。 Q: 加载标杆权重进行模型推理验证正向流程时有warning警告显示权重未加载成功该如何解决 A: load_checkpoint过程中如果有权重未加载上MindSpore会给出warning提示一般加载失败有两种原因1、权重名称对不上2、权重在网络中缺失。 如果权重名称对不上需要打印MindSpore的权重名称和标杆的权重名称看是否MindSpore的权重名称多了backbone或network等前缀如果是检查MindSpore在初始化 Cell 时是否加上auto_prefixFalse。 如果权重名称缺失需要分析是否合理如果合理可忽略告警提示如果不合理需要分析网络定义是否错误进行定位修改。 Q: 迁移过程使用PyNative进行调测流程成功切换成Graph模式为什么会出现一堆的报错 A: PyNative模式下模型进行推理的行为与一般Python代码无异。但是切换成Graph模式时MindSpore通过源码转换的方式将Python的源码转换成中间表达IRIntermediate Representation并在此基础上对IR图进行优化最终在硬件设备上执行优化后的图。 而这一步操作中MindSpore目前还未能支持完整的Python语法全集所以construct函数的编写会存在部分限制。 如PyNative模式下可直接判断某个Tensor值是否为0但切换成Graph模式则会报错不支持。 if response 0:return loss return loss/response 遇到类似情况可将代码修改为 response_gt max(response, ms.Tensor(1)) loss loss/response_gt return loss
http://www.hkea.cn/news/14496510/

相关文章:

  • 网站建设合同书-详细版怎么做网页设计稿
  • 建设银行龙卡信用卡在境外网站支付建设营销型网站哪家好
  • 网站备案流程和规则郑州医院排名第一妇科
  • 英语网站 php源码购物网站哪个最好
  • 网站打不开是什么原因plc培训机构哪家最好
  • 电子商务网站建设的盈利模式优酷网站建设有何特点
  • 潍坊网站建设 世纪环球16楼上海到北京的火车
  • 惠州网站建设翻译罗店网站建设
  • 室内装饰网站模板昆明做网站建设的公司排名
  • 大型门户网站建设哪专业亦庄建设局网站
  • 资讯门户网站 dede在阿里巴巴上做网站需要什么
  • AD这个软件做网站用得着吗wordpress如何修改顶部栏
  • 电子商务网站和普通网站的区别网站建设什么代码最简单
  • 网站界面设计起着决定性作用免费主页空间申请网站
  • 洛阳建设企业网站织梦网站安装出现404 not found
  • 吉安做网站公司网站怎么重建
  • 数码印花图案设计网站网页设计和网站开发有什么区别
  • 住房城乡建设部官网站有网络但是网页打不开
  • 河南省南阳市建设局网站郑州百度推广外包
  • 织梦网站图片修改做宴会网站
  • 松江新城投资建设有限公司网站义乌购app下载
  • 网站图片缩略图响应试企业网站
  • 班级网站模板素材网站开发设计师
  • 注册qq空间网站百度指数的数据来源
  • 平台网站建设公司模板网站怎么做301
  • 珠海做网站那家好怎样做分类网站
  • 外贸网站建设 东莞WORDPRESS导购主题 WYZDG
  • 网站设计素材包专门做旅行用品的网站
  • 枣庄网站建设公司wordpress远程上传媒体文件
  • 阿坝网页设计公司网站建设优化保定