python小结(二)--闭包和装饰器 一、装饰器1. 装饰器的简单介绍“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是:举个栗子:def test(func): return func@testdef afunc(): print("hello")afunc()# hello上面使用@test来表示装饰器,其等同于:afun
python小结(一)--基础知识 python支持的数据类型Python3 支持 int、float、bool、complex(没有double)。不可变对象与可变对象可变对象:list dict set不可变对象:tuple string int float bool数据类型strstrip函数去掉前后的字符串。a = " yyx xxwyyefwyy "print(a.strip())print(a.strip().strip('yy'))print(a)# yyx xxwyyefwyy# x x
损失函数小结 损失函数损失函数用于衡量真实值y_true和预测值y_pred之间的差异。通常情况下y_true和y_pred维度相同,但特殊情况下维度不同,一般来讲框架(包括tensorflow和mindspore)会支持此情况, 但要求两者的shape可广播,所谓可广播,是指被广播的维数维1。以mindspore为例:from mindspore import nn, Tensor, Modelfrom mindspore import dataset as dsimport mindsporefrom m
对比pytorch的优化器实现及使用方法 对比pytorch的优化器实现及使用方法概述基本用法基类入参设置及支持的方法基类入参基类支持的方法自定义优化器API映射对比pytorch的优化器实现及使用方法概述优化器在模型训练过程中,用于计算和更新网络参数,本文对比MindSpore和pytorch的在这一部分的实现方式差异,分别从基本用法,基类入参设置及支持的方法,自定义优化器,API映射四部分展开。基本用法MindSpore:MindSpore除了封装了Model高阶API来方便用户定义和训练网络,在定义Mo.
mindspore和pytorch的比较 -- 构建网络(一) 比较mindspore和torch网络建立相关的内容一、网络构建:分别使用mindspore和torch构建两个相同的网络:mindspore:建立一个子Cell:ConvBNReLU:from mindspore import Tensor, ops, Parameter, nnclass ConvBNReLU(nn.Cell): def __init__(self): super(ConvBNReLU, self).__init__() self.conv = nn.Co
mindspore和pytorch的比较 -- 网络接口部分(二) 二、网络接口及支持的方法功能mindspore Cell接口torch Module接口查看模块cells_and_names()modules(),named_modules()功能一致cells()children()略有差异name_cells()name_children()略有差异获取参数parameters_and_names(),get_parameters()state_dict(destination=None)略有差异