!22153 Convert some ops bprops to mindir

Merge pull request !22153 from YuJianfeng/bprop_mindir
This commit is contained in:
i-robot 2021-08-24 08:07:46 +00:00 committed by Gitee
commit 822cedec0a
40 changed files with 960 additions and 83 deletions

View File

@ -143,6 +143,10 @@ class KPrim {
}
FuncGraphPtr GetPossibleBprop(const PrimitivePtr &prim);
#ifndef _WIN32
static void ExportBpropMindir(const py::object &obj);
#endif
private:
FuncGraphPtr GetBprop(const PrimitivePtr &prim, const pipeline::ResourceBasePtr &resources = nullptr);
FuncGraphPtr GetFprop(const PrimitivePtr &prim);

View File

@ -48,16 +48,38 @@ KPrim g_k_prims;
namespace {
constexpr char kBpropMindIRSuffix[] = "_bprop.mindir";
constexpr char kBpropMindIRDir[] = "/../bprop_mindir/";
constexpr char kGenerateMindirEnv[] = "GENERATE_MINDIR";
constexpr char serializable_bprop_ops[] = "serializable_bprop_ops";
constexpr char bprop_mindir_module[] = "mindspore.ops.bprop_mindir";
#ifndef _WIN32
bool IsSerializableBprop(const PrimitivePtr &prim) {
static std::unordered_set<PrimitivePtr> serializable_bprop_list{prim::kPrimRelu, prim::kPrimIdentity};
// Get the serializable bprop list from the module mindspore.ops.bprop_mindir in python.
std::unordered_set<std::string> GetSerializableBpropList() {
std::unordered_set<std::string> serializable_bprop_list;
py::module mod = py::module::import(bprop_mindir_module);
py::object serializable_bprop_ops_attr = mod.attr(serializable_bprop_ops);
if (!py::isinstance<py::list>(serializable_bprop_ops_attr)) {
MS_LOG(WARNING) << "Can not get the the serializable bprop ops list from python, it is not a python list.";
return serializable_bprop_list;
}
auto ops_list = serializable_bprop_ops_attr.cast<py::list>();
for (size_t i = 0; i < ops_list.size(); ++i) {
auto prim_adapter = ops_list[i].cast<PrimitivePyAdapterPtr>();
if (prim_adapter == nullptr) {
MS_LOG(EXCEPTION) << "The python obj in serializable bprop list should be a Primitive, but it is "
<< py::str(ops_list[i]);
}
serializable_bprop_list.insert(prim_adapter->name());
}
return serializable_bprop_list;
}
bool IsSerializableBprop(const std::string &prim_name) {
static std::unordered_set<std::string> serializable_bprop_list = GetSerializableBpropList();
return std::any_of(serializable_bprop_list.begin(), serializable_bprop_list.end(),
[&prim](const PrimitivePtr &serializable_bprop_prim) {
auto str1 = prim->name();
auto str2 = serializable_bprop_prim->name();
[&prim_name](const std::string &serializable_bprop_prim_name) {
auto str1 = prim_name;
auto str2 = serializable_bprop_prim_name;
(void)transform(str1.begin(), str1.end(), str1.begin(), ::tolower);
(void)transform(str2.begin(), str2.end(), str2.begin(), ::tolower);
return str1 == str2;
@ -128,9 +150,92 @@ void ExportBpropToMindIR(const PrimitivePtr &prim, const FuncGraphPtr &func_grap
fout.close();
ChangeFileMode(bprop_mindir_realpath.value(), S_IRUSR | S_IWUSR);
}
AnfNodePtr GetPythonOps(const FuncGraphPtr &fg, const AnfNodePtr &origin_node, const PrimitivePtr &prim) {
MS_EXCEPTION_IF_NULL(fg);
MS_EXCEPTION_IF_NULL(origin_node);
MS_EXCEPTION_IF_NULL(prim);
// DoSignaturePrimitive to the pair of primitive name and module name.
static std::unordered_map<std::string, std::pair<std::string, std::string>> python_ops{
{"S-Prim-zeros_like_leaf", {"zeros_like", ""}},
{"S-Prim-getitem", {"getitem", "mindspore.ops.composite.multitype_ops.getitem_impl"}}};
auto iter = python_ops.find(prim->name());
if (iter == python_ops.end()) {
return nullptr;
}
ValuePtr python_ops_value;
if (!iter->second.second.empty()) {
python_ops_value = prim::GetPythonOps(iter->second.first, iter->second.second);
} else {
python_ops_value = prim::GetPythonOps(iter->second.first);
}
auto origin_cnode = origin_node->cast<CNodePtr>();
MS_EXCEPTION_IF_NULL(origin_cnode);
auto &origin_inputs = origin_cnode->inputs();
std::vector<AnfNodePtr> new_inputs{NewValueNode(python_ops_value)};
(void)std::copy(origin_inputs.begin() + 1, origin_inputs.end(), std::back_inserter(new_inputs));
return fg->NewCNode(new_inputs);
}
// Replace the nodes whose python obj of primitive is needed in the renormalize process,
// with the new created python ops, such as zeros_like.
void ReplacePythonOps(const FuncGraphPtr &fg) {
MS_EXCEPTION_IF_NULL(fg);
std::vector<AnfNodePtr> all_nodes = DeepScopedGraphSearch(fg->get_return());
for (const auto &node : all_nodes) {
MS_EXCEPTION_IF_NULL(node);
if (!node->isa<CNode>()) {
continue;
}
auto cnode = node->cast<CNodePtr>();
for (size_t i = 0; i < cnode->size(); ++i) {
auto prim = GetCNodePrimitive(cnode->input(i));
if (prim == nullptr) {
continue;
}
auto new_input = GetPythonOps(fg, cnode->input(i), prim);
if (new_input == nullptr) {
continue;
}
cnode->set_input(i, new_input);
}
}
}
#endif
} // namespace
#ifndef _WIN32
// Given a python primitive, export a mindir file from the bprop defined in python.
void KPrim::ExportBpropMindir(const py::object &obj) {
auto prim_adapter = obj.cast<PrimitivePyAdapterPtr>();
if (prim_adapter == nullptr) {
MS_LOG(EXCEPTION) << "The python obj to be exported to bprop mindir should be a Primitive, but it is "
<< py::str(obj);
}
auto prim = prim_adapter->attached_primitive();
if (prim == nullptr) {
prim = std::make_shared<PrimitivePy>(obj, prim_adapter);
prim_adapter->set_attached_primitive(prim);
}
// Get the bprop function from python.
py::function fn = prim->cast<PrimitivePyPtr>()->GetBpropFunction();
if (py::isinstance<py::none>(fn)) {
fn = GetBpropFunction(prim->name());
}
if (!fn || py::isinstance<py::none>(fn)) {
MS_LOG(EXCEPTION) << "Fail to find bprop function for " << prim->name() << ".";
}
auto func_graph = parse::ParsePythonCode(fn);
if (func_graph == nullptr) {
MS_LOG(EXCEPTION) << "Fail to parse bprop function for " << prim->name() << ".";
}
auto res = std::make_shared<pipeline::Resource>();
(void)parse::ResolveFuncGraph(func_graph, res);
ExportBpropToMindIR(prim, func_graph);
}
#endif
FuncGraphPtr KPrim::GetBprop(const PrimitivePtr &prim, const pipeline::ResourceBasePtr &resources) {
// Set a child scope named "grad'PrimitiveName'" for the bprop function,
// and add "Gradients" to the front.
@ -144,10 +249,11 @@ FuncGraphPtr KPrim::GetBprop(const PrimitivePtr &prim, const pipeline::ResourceB
// Firstly we get bprop from mindir. If failed, parse the python function registered.
FuncGraphPtr func_graph = nullptr;
#ifndef _WIN32
bool serializable = IsSerializableBprop(prim);
if (serializable && common::GetEnv(kGenerateMindirEnv) != "1") {
bool serializable = IsSerializableBprop(prim->name());
if (serializable) {
func_graph = ImportBpropFromMindIR(prim);
if (func_graph != nullptr) {
ReplacePythonOps(func_graph);
return func_graph;
}
}

View File

@ -28,6 +28,7 @@
#include "utils/ms_utils.h"
#include "frontend/parallel/context.h"
#include "frontend/parallel/costmodel_context.h"
#include "frontend/optimizer/ad/dfunctor.h"
#ifdef ENABLE_GPU_COLLECTIVE
#include "runtime/device/gpu/distribution/collective_init.h"
#else
@ -420,4 +421,9 @@ PYBIND11_MODULE(_c_expression, m) {
(void)m.def("_encrypt", &mindspore::pipeline::PyEncrypt, "Encrypt the data.");
(void)m.def("_decrypt", &mindspore::pipeline::PyDecrypt, "Decrypt the data.");
(void)m.def("_is_cipher_file", &mindspore::pipeline::PyIsCipherFile, "Determine whether the file is encrypted");
#ifndef _WIN32
(void)m.def("_export_bprop_mindir", &mindspore::ad::KPrim::ExportBpropMindir,
"Export the backpropagation function to mindir file.");
#endif
}

View File

@ -101,6 +101,7 @@ class PrimitivePyAdapter {
void set_instance_name(const std::string &s);
void set_attached_primitive(const PrimitivePyPtr &prim);
PrimitivePyPtr attached_primitive() { return attached_primitive_.lock(); }
std::string name() const { return name_; }
void set_name(const std::string &name) { name_ = name; }
const bool parse_info_ = true;

View File

@ -41,6 +41,7 @@ static constexpr char kCNodeShapeAttr[] = "shape";
static constexpr char kCNodeShape1Attr[] = "shape1";
static constexpr char kCNodeShape2Attr[] = "shape2";
static constexpr char kDoSignaturePrimitivePrefix[] = "S-Prim-";
static constexpr char kHyperMapPrefix[] = "hyper_map";
enum ParseForm : int {
FORM_PARSE_TYPE = 0,
@ -770,6 +771,19 @@ std::unordered_map<std::string, abstract::AbstractBasePtr> MSANFModelParser::Get
return kv;
}
// S-Prim-xxx or S-Prim-hyper_map[xxx] -> xxx
static std::string GetDoSignaturePrimitiveName(const std::string &node_type) {
// Remove `S-Prim-` prefix.
auto prim_name = node_type.substr(strlen(kDoSignaturePrimitivePrefix));
if (prim_name.compare(0, strlen(kHyperMapPrefix), kHyperMapPrefix) != 0) {
return prim_name;
}
// hyper_map[xxx] -> xxx
constexpr auto offset = 2;
auto op_name = prim_name.substr(strlen(kHyperMapPrefix) + 1, prim_name.length() - strlen(kHyperMapPrefix) - offset);
return op_name;
}
AnfNodePtr MSANFModelParser::BuildOperatorNode(const mind_ir::NodeProto &node_proto) {
const std::string kOperatorTypeFlag = std::string("REF::");
const size_t kOpTypeFlagSize = kOperatorTypeFlag.length();
@ -792,7 +806,7 @@ AnfNodePtr MSANFModelParser::BuildOperatorNode(const mind_ir::NodeProto &node_pr
prim = op_primc_fns[node_type]();
} else {
if (node_type.compare(0, strlen(kDoSignaturePrimitivePrefix), kDoSignaturePrimitivePrefix) == 0) {
auto op_name = node_type.substr(strlen(kDoSignaturePrimitivePrefix));
auto op_name = GetDoSignaturePrimitiveName(node_type);
prim = std::make_shared<prim::DoSignaturePrimitive>(op_name, std::make_shared<Primitive>(op_name));
MS_EXCEPTION_IF_NULL(prim);
prim->set_instance_name(op_name);
@ -863,7 +877,9 @@ void MSANFModelParser::SetCNodeAbastract(const mind_ir::NodeProto &node_proto, C
for (size_t index = 1; index < cnode_ptr->inputs().size(); ++index) {
auto abs = cnode_ptr->input(index)->abstract();
if (abs != nullptr) {
abs->set_value(kAnyValue);
if (abs->GetValueTrack() == nullptr) {
abs->set_value(kAnyValue);
}
elem.push_back(abs);
}
}

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.32:xbprop.32:[CNode]33bprop.32:[CNode]33"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op22

bprop.32:ybprop.32:[CNode]34bprop.32:[CNode]34"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op23
<EFBFBD>
bprop.32:[CNode]33
bprop.32:[CNode]34bprop.32:[CNode]35bprop.32:[CNode]35"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op24bprop.32*
bprop.32:x*
bprop.32:y*
bprop.32:out*
bprop.32:dout2
bprop.32:[CNode]35:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:Ê

bprop.13:xbprop.13:[CNode]14bprop.13:[CNode]14"!S-Prim-hyper_map[zeros_like_leaf]:-Default/S-Prim-hyper_map[zeros_like_leaf]-op9
m
bprop.13:[CNode]14bprop.13:[CNode]15bprop.13:[CNode]15"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op10bprop.13*
bprop.13:x*
bprop.13:out*
bprop.13:dout2
bprop.13:[CNode]15:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:Ë

bprop.16:xbprop.16:[CNode]17bprop.16:[CNode]17"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op11
m
bprop.16:[CNode]17bprop.16:[CNode]18bprop.16:[CNode]18"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op12bprop.16*
bprop.16:x*
bprop.16:out*
bprop.16:dout2
bprop.16:[CNode]18:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.21:xbprop.21:[CNode]22bprop.21:[CNode]22"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op14

bprop.21:ybprop.21:[CNode]23bprop.21:[CNode]23"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op15
<EFBFBD>
bprop.21:[CNode]22
bprop.21:[CNode]23bprop.21:[CNode]24bprop.21:[CNode]24"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op16bprop.21*
bprop.21:x*
bprop.21:y*
bprop.21:out*
bprop.21:dout2
bprop.21:[CNode]24:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.25:xbprop.25:[CNode]26bprop.25:[CNode]26"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op17

bprop.25:ybprop.25:[CNode]27bprop.25:[CNode]27"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op18
<EFBFBD>
bprop.25:[CNode]26
bprop.25:[CNode]27bprop.25:[CNode]28bprop.25:[CNode]28"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op19bprop.25*
bprop.25:x*
bprop.25:y*
bprop.25:out*
bprop.25:dout2
bprop.25:[CNode]28:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,15 @@
0.1.0 MindSpore*1.4.1:è

bprop.60:ybprop.60:[CNode]61bprop.60:[CNode]61"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op43
|
bprop.60:dout
bprop.60:[CNode]61bprop.60:[CNode]62bprop.60:[CNode]62"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op44bprop.60*
bprop.60:x*
bprop.60:y*
bprop.60:out*
bprop.60:dout2
bprop.60:[CNode]62:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:Ë

bprop.67:xbprop.67:[CNode]68bprop.67:[CNode]68"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op48
m
bprop.67:[CNode]68bprop.67:[CNode]69bprop.67:[CNode]69"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op49bprop.67*
bprop.67:x*
bprop.67:out*
bprop.67:dout2
bprop.67:[CNode]69:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,9 @@
0.1.0 MindSpore*1.4.1:¼
h
bprop.19:doutbprop.19:[CNode]20bprop.19:[CNode]20"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op13bprop.19*
bprop.19:x*
bprop.19:out*
bprop.19:dout2
bprop.19:[CNode]20:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,20 @@
0.1.0 MindSpore*1.4.1:à

bprop.110:dout
bprop.110:y
bprop.110:keep_probbprop.110:[CNode]111bprop.110:[CNode]111"S-Prim-DropoutDoMask:!Default/S-Prim-DropoutDoMask-op80
Œ
bprop.110:ybprop.110:[CNode]112bprop.110:[CNode]112"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op81

bprop.110:keep_probbprop.110:[CNode]113bprop.110:[CNode]113"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op82
Ÿ
bprop.110:[CNode]111
bprop.110:[CNode]112
bprop.110:[CNode]113bprop.110:[CNode]114bprop.110:[CNode]114"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op83 bprop.110*
bprop.110:x*
bprop.110:y*
bprop.110:keep_prob*
bprop.110:out*
bprop.110:dout2
bprop.110:[CNode]114:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,15 @@
0.1.0 MindSpore*1.4.1:<3A>

bprop.50:shapebprop.50:[CNode]51bprop.50:[CNode]51"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op35
<EFBFBD>
bprop.50:keep_probbprop.50:[CNode]52bprop.50:[CNode]52"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op36
<EFBFBD>
bprop.50:[CNode]51
bprop.50:[CNode]52bprop.50:[CNode]53bprop.50:[CNode]53"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op37bprop.50*
bprop.50:shape*
bprop.50:keep_prob*
bprop.50:out*
bprop.50:dout2
bprop.50:[CNode]53:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.70:xbprop.70:[CNode]71bprop.70:[CNode]71"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op50

bprop.70:ybprop.70:[CNode]72bprop.70:[CNode]72"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op51
<EFBFBD>
bprop.70:[CNode]71
bprop.70:[CNode]72bprop.70:[CNode]73bprop.70:[CNode]73"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op52bprop.70*
bprop.70:x*
bprop.70:y*
bprop.70:out*
bprop.70:dout2
bprop.70:[CNode]73:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.82:xbprop.82:[CNode]83bprop.82:[CNode]83"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op59

bprop.82:ybprop.82:[CNode]84bprop.82:[CNode]84"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op60
<EFBFBD>
bprop.82:[CNode]83
bprop.82:[CNode]84bprop.82:[CNode]85bprop.82:[CNode]85"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op61bprop.82*
bprop.82:x*
bprop.82:y*
bprop.82:out*
bprop.82:dout2
bprop.82:[CNode]85:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.78:xbprop.78:[CNode]79bprop.78:[CNode]79"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op56

bprop.78:ybprop.78:[CNode]80bprop.78:[CNode]80"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op57
<EFBFBD>
bprop.78:[CNode]79
bprop.78:[CNode]80bprop.78:[CNode]81bprop.78:[CNode]81"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op58bprop.78*
bprop.78:x*
bprop.78:y*
bprop.78:out*
bprop.78:dout2
bprop.78:[CNode]81:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.63:xbprop.63:[CNode]64bprop.63:[CNode]64"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op45

bprop.63:ybprop.63:[CNode]65bprop.63:[CNode]65"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op46
<EFBFBD>
bprop.63:[CNode]64
bprop.63:[CNode]65bprop.63:[CNode]66bprop.63:[CNode]66"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op47bprop.63*
bprop.63:x*
bprop.63:y*
bprop.63:out*
bprop.63:dout2
bprop.63:[CNode]66:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -1,9 +1,8 @@
0.1.0 MindSpore*1.4.0.20210815:î

bprop.10:doutbprop.10:[CNode]12:2bprop.10:[CNode]11:1"S-Prim-MakeTuple:HGradients/Default/network-NetIdentity/gradIdentity/S-Prim-MakeTuple-op22bprop.10*
bprop.10:x*
bprop.10:out*
bprop.10:dout2
bprop.10:[CNode]12:2:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260
0.1.0 MindSpore*1.4.1:°
b
bprop.2:doutbprop.2:[CNode]3bprop.2:[CNode]3"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op2bprop.2*
bprop.2:x*
bprop.2:out*
bprop.2:dout2
bprop.2:[CNode]3:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:Ë

bprop.29:xbprop.29:[CNode]30bprop.29:[CNode]30"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op20
m
bprop.29:[CNode]30bprop.29:[CNode]31bprop.29:[CNode]31"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op21bprop.29*
bprop.29:x*
bprop.29:out*
bprop.29:dout2
bprop.29:[CNode]31:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.90:xbprop.90:[CNode]91bprop.90:[CNode]91"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op65

bprop.90:ybprop.90:[CNode]92bprop.90:[CNode]92"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op66
<EFBFBD>
bprop.90:[CNode]91
bprop.90:[CNode]92bprop.90:[CNode]93bprop.90:[CNode]93"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op67bprop.90*
bprop.90:x*
bprop.90:y*
bprop.90:out*
bprop.90:dout2
bprop.90:[CNode]93:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.86:xbprop.86:[CNode]87bprop.86:[CNode]87"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op62

bprop.86:ybprop.86:[CNode]88bprop.86:[CNode]88"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op63
<EFBFBD>
bprop.86:[CNode]87
bprop.86:[CNode]88bprop.86:[CNode]89bprop.86:[CNode]89"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op64bprop.86*
bprop.86:x*
bprop.86:y*
bprop.86:out*
bprop.86:dout2
bprop.86:[CNode]89:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:¶

bprop.45:startbprop.45:[CNode]46bprop.45:[CNode]46"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op31
Š
bprop.45:stopbprop.45:[CNode]47bprop.45:[CNode]47"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op32

bprop.45:numbprop.45:[CNode]48bprop.45:[CNode]48"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op33

bprop.45:[CNode]46
bprop.45:[CNode]47
bprop.45:[CNode]48bprop.45:[CNode]49bprop.45:[CNode]49"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op34bprop.45*
bprop.45:start*
bprop.45:stop*
bprop.45:num*
bprop.45:out*
bprop.45:dout2
bprop.45:[CNode]49:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.94:xbprop.94:[CNode]95bprop.94:[CNode]95"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op68

bprop.94:ybprop.94:[CNode]96bprop.94:[CNode]96"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op69
<EFBFBD>
bprop.94:[CNode]95
bprop.94:[CNode]96bprop.94:[CNode]97bprop.94:[CNode]97"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op70bprop.94*
bprop.94:x*
bprop.94:y*
bprop.94:out*
bprop.94:dout2
bprop.94:[CNode]97:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:Ë

bprop.39:xbprop.39:[CNode]40bprop.39:[CNode]40"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op27
m
bprop.39:[CNode]40bprop.39:[CNode]41bprop.39:[CNode]41"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op28bprop.39*
bprop.39:x*
bprop.39:out*
bprop.39:dout2
bprop.39:[CNode]41:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:þ

bprop.98:xbprop.98:[CNode]99bprop.98:[CNode]99"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op71

bprop.98:ybprop.98:[CNode]100bprop.98:[CNode]100"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op72

bprop.98:[CNode]99
bprop.98:[CNode]100bprop.98:[CNode]101bprop.98:[CNode]101"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op73bprop.98*
bprop.98:x*
bprop.98:y*
bprop.98:out*
bprop.98:dout2
bprop.98:[CNode]101:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,18 @@
0.1.0 MindSpore*1.4.1:ø

bprop.74:xbprop.74:[CNode]75bprop.74:[CNode]75"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op53

bprop.74:ybprop.74:[CNode]76bprop.74:[CNode]76"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op54
<EFBFBD>
bprop.74:[CNode]75
bprop.74:[CNode]76bprop.74:[CNode]77bprop.74:[CNode]77"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op55bprop.74*
bprop.74:x*
bprop.74:y*
bprop.74:out*
bprop.74:dout2
bprop.74:[CNode]77:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,22 @@
0.1.0 MindSpore*1.4.1:
<EFBFBD>
bprop.54:indicesbprop.54:[CNode]55bprop.54:[CNode]55"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op38

bprop.54:depthbprop.54:[CNode]56bprop.54:[CNode]56"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op39
Ž
bprop.54:on_valuebprop.54:[CNode]57bprop.54:[CNode]57"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op40
<EFBFBD>
bprop.54:off_valuebprop.54:[CNode]58bprop.54:[CNode]58"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op41
©
bprop.54:[CNode]55
bprop.54:[CNode]56
bprop.54:[CNode]57
bprop.54:[CNode]58bprop.54:[CNode]59bprop.54:[CNode]59"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op42bprop.54*
bprop.54:indices*
bprop.54:depth*
bprop.54:on_value*
bprop.54:off_value*
bprop.54:out*
bprop.54:dout2
bprop.54:[CNode]59:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,10 @@
0.1.0 MindSpore*1.4.1:¸
<EFBFBD>
bprop.7:xbprop.7:[CNode]8bprop.7:[CNode]8"!S-Prim-hyper_map[zeros_like_leaf]:-Default/S-Prim-hyper_map[zeros_like_leaf]-op5
f
bprop.7:[CNode]8bprop.7:[CNode]9bprop.7:[CNode]9"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op6bprop.7*
bprop.7:x*
bprop.7:out*
bprop.7:dout2
bprop.7:[CNode]9:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,10 @@
0.1.0 MindSpore*1.4.1:¸
<EFBFBD>
bprop.4:xbprop.4:[CNode]5bprop.4:[CNode]5"!S-Prim-hyper_map[zeros_like_leaf]:-Default/S-Prim-hyper_map[zeros_like_leaf]-op3
f
bprop.4:[CNode]5bprop.4:[CNode]6bprop.4:[CNode]6"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op4bprop.4*
bprop.4:x*
bprop.4:out*
bprop.4:dout2
bprop.4:[CNode]6:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -1,11 +1,14 @@
0.1.0 MindSpore*1.4.0.20210815:å
ˆ
bprop.2:dout
bprop.2:out bprop.2:dx:1 bprop.2:dx:1"S-Prim-ReluGrad:>Gradients/Default/network-NetRelu/gradReLU/S-Prim-ReluGrad-op5

bprop.2:dx:1bprop.2:[CNode]4:3bprop.2:[CNode]3:2"S-Prim-MakeTuple:?Gradients/Default/network-NetRelu/gradReLU/S-Prim-MakeTuple-op6bprop.2*
bprop.2:x*
bprop.2:out*
bprop.2:dout2
bprop.2:[CNode]4:3:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260
0.1.0 MindSpore*1.4.1:
a
bprop.0:dout
bprop.0:out
bprop.0:dx
bprop.0:dx"S-Prim-ReluGrad:Default/S-Prim-ReluGrad-op0
`
bprop.0:dxbprop.0:[CNode]1bprop.0:[CNode]1"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op1bprop.0*
bprop.0:x*
bprop.0:out*
bprop.0:dout2
bprop.0:[CNode]1:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,15 @@
0.1.0 MindSpore*1.4.1:—
Œ
bprop.102:xbprop.102:[CNode]103bprop.102:[CNode]103"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op74
<EFBFBD>
bprop.102:axisbprop.102:[CNode]104bprop.102:[CNode]104"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op75

bprop.102:[CNode]103
bprop.102:[CNode]104bprop.102:[CNode]105bprop.102:[CNode]105"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op76 bprop.102*
bprop.102:x*
bprop.102:axis*
bprop.102:out*
bprop.102:dout2
bprop.102:[CNode]105:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,15 @@
0.1.0 MindSpore*1.4.1:—
Œ
bprop.106:xbprop.106:[CNode]107bprop.106:[CNode]107"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op77
<EFBFBD>
bprop.106:axisbprop.106:[CNode]108bprop.106:[CNode]108"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op78

bprop.106:[CNode]107
bprop.106:[CNode]108bprop.106:[CNode]109bprop.106:[CNode]109"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op79 bprop.106*
bprop.106:x*
bprop.106:axis*
bprop.106:out*
bprop.106:dout2
bprop.106:[CNode]109:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:Ë

bprop.42:xbprop.42:[CNode]43bprop.42:[CNode]43"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op29
m
bprop.42:[CNode]43bprop.42:[CNode]44bprop.42:[CNode]44"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op30bprop.42*
bprop.42:x*
bprop.42:out*
bprop.42:dout2
bprop.42:[CNode]44:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:Ë

bprop.36:xbprop.36:[CNode]37bprop.36:[CNode]37"!S-Prim-hyper_map[zeros_like_leaf]:.Default/S-Prim-hyper_map[zeros_like_leaf]-op25
m
bprop.36:[CNode]37bprop.36:[CNode]38bprop.36:[CNode]38"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op26bprop.36*
bprop.36:x*
bprop.36:out*
bprop.36:dout2
bprop.36:[CNode]38:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -0,0 +1,12 @@
0.1.0 MindSpore*1.4.1:É

bprop.10:xbprop.10:[CNode]11bprop.10:[CNode]11"!S-Prim-hyper_map[zeros_like_leaf]:-Default/S-Prim-hyper_map[zeros_like_leaf]-op7
l
bprop.10:[CNode]11bprop.10:[CNode]12bprop.10:[CNode]12"S-Prim-MakeTuple:Default/S-Prim-MakeTuple-op8bprop.10*
bprop.10:x*
bprop.10:out*
bprop.10:dout2
bprop.10:[CNode]12:€027af68f320ba40d9fbd0893da424c07f9c3a4ec82e98f9543bff9b5a15547a2087787fe3abde92d74a97b5b9f48f23d8ccdd6de450a931c64f578b83dcb5c2f102a58399653345b09bd6f5b337c4b81c4f8900664c0abc09fb80f38f8e95be82366f7bd59ea5ec135e982de03b4f7cab6b61d833d046a6e13f78bdaf2fb2b224c332efad4a51b4773cb78093dd53a4ca850b2dc6cdd5f2ae47106b3fda77bb3565f906930f68ca2413e9ad958d105e129e717cd183b95d11d65a8b0b030fc0d65c0e00bc893ef15ec6199798d6c8c46997153587d375b3240c1195ff2c7278c7e635a08323207b4cb3f73fd8437b4d7ee28a7676a68f005a7749bd19e5ed4eca6c407ad6a3b57190d3702d6a45031d13b97bb6952735edf94fb36f73dbff6cdab258748286fc6d783abacce203dfc79d2fc31e23a427ce1f86e08777a687f71c414b8c313aac4f85c6217fbbb7009dd079b2d5548f8b695a470a11cb8cc83e6f5e78f5b3c67f2e7bf339b250c3638aee952e1a073002e2834011401f3827260

View File

@ -14,3 +14,6 @@
# ============================================================================
"""bprop mindir."""
from .generate_mindir import serializable_bprop_ops
__all__ = ['serializable_bprop_ops']

View File

@ -16,67 +16,22 @@
import os
import shutil
import argparse
import numpy as np
import mindspore.context as context
import mindspore.nn as nn
from mindspore import Tensor
from mindspore.ops import operations as P
import mindspore.ops as ops
import mindspore.ops._grad as g
from mindspore.ops.operations import _inner_ops as inner
from mindspore._c_expression import _export_bprop_mindir
context.set_context(mode=context.GRAPH_MODE)
os.environ['GENERATE_MINDIR'] = '1'
class NetRelu(nn.Cell):
def __init__(self):
super(NetRelu, self).__init__()
self.relu = P.ReLU()
def construct(self, x):
return self.relu(x)
class NetIdentity(nn.Cell):
def __init__(self):
super(NetIdentity, self).__init__()
self.identity = P.Identity()
def construct(self, x):
return self.identity(x)
class GradNet(nn.Cell):
def __init__(self, network):
super(GradNet, self).__init__()
self.grad = ops.GradOperation()
self.network = network
def construct(self, x):
gout = self.grad(self.network)(x)
return gout
def test_relu():
x = Tensor(np.array([[[[-1, 1, 10],
[1, -1, 1],
[10, 1, -1]]]]).astype(np.float32))
relu = NetRelu()
grad = GradNet(relu)
grad(x)
def test_identity():
x = Tensor(np.array([1, 2, 3, 4]).astype(np.int64))
identity = NetIdentity()
grad = GradNet(identity)
grad(x)
serializable_bprop_ops = [P.ReLU(), P.Identity(), inner.Range(1.0), P.OnesLike(), P.ZerosLike(), P.Argmax(), P.Argmin(),
P.Broadcast(1), P.AssignAdd(), P.AssignSub(), P.IsFinite(), P.ApproximateEqual(), P.Sign(),
P.LogicalNot(), P.Round(), P.LinSpace(), P.DropoutGenMask(), P.OneHot(), P.Assign(), P.IOU(),
P.BNTrainingReduce(), P.Equal(), P.NotEqual(), P.Greater(), P.GreaterEqual(), P.Less(),
P.LessEqual(), P.LogicalAnd(), P.LogicalOr(), P.ReduceAll(), P.ReduceAny(), P.DropoutDoMask()]
def run_generate():
test_relu()
test_identity()
for op in serializable_bprop_ops:
_export_bprop_mindir(op)
if __name__ == "__main__":
@ -133,4 +88,4 @@ if __name__ == "__main__":
"\".")
else:
print("The new bprop mindir files has been generated in the path \"" + bprop_mindir_export_dir +
"\", copy the *.mindir to your PYTHONPATH if necessary.")
"\", copy the *.mindir to your mindspore path or PYTHONPATH if necessary.")

View File

@ -0,0 +1,323 @@
# Copyright 2021 Huawei Technologies Co., Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============================================================================
"""Generate the mindir for bprop"""
import numpy as np
import mindspore.nn as nn
from mindspore import Tensor, Parameter
from mindspore.ops import operations as P
import mindspore.ops as ops
from mindspore.ops.operations import _inner_ops as inner
import mindspore.common.dtype as mstype
from mindspore.common.initializer import initializer
class Net(nn.Cell):
def __init__(self, op):
super(Net, self).__init__()
self.op = op
def construct(self, *inputs, a=0, b=1):
c = a + b
return c, self.op(*inputs)
class TupleInputNet(nn.Cell):
def __init__(self, op):
super(TupleInputNet, self).__init__()
self.op = op
def construct(self, x):
return self.op((x,))
class GradNet(nn.Cell):
def __init__(self, network):
super(GradNet, self).__init__()
self.grad = ops.GradOperation(get_all=True)
self.network = network
def construct(self, *inputs):
gout = self.grad(self.network)(*inputs)
return gout
def test_relu():
x = Tensor(np.array([[[[-1, 1, 10],
[1, -1, 1],
[10, 1, -1]]]]).astype(np.float32))
relu = Net(P.ReLU())
grad = GradNet(relu)
grad.compile(x)
def test_identity():
x = Tensor(np.array([1, 2, 3, 4]).astype(np.int64))
identity = Net(P.Identity())
grad = GradNet(identity)
grad.compile(x)
def test_range():
x = Tensor(np.array([1, 2, 3, 2]).astype(np.int64))
range_net = Net(inner.Range(1.0, 8.0, 2.0))
grad = GradNet(range_net)
grad.compile(x)
def test_ones_like():
x = Tensor(np.array([[0, 1], [2, 1]]).astype(np.int32))
ones_like = Net(P.OnesLike())
grad = GradNet(ones_like)
grad.compile(x)
def test_zeros_like():
x = Tensor(np.array([[0, 1], [2, 1]]).astype(np.int32))
zeros_like = Net(P.ZerosLike())
grad = GradNet(zeros_like)
grad.compile(x)
def test_argmax():
x = Tensor(np.array([[1, 20, 5], [67, 8, 9], [130, 24, 15]]).astype(np.float32))
argmax = Net(P.Argmax())
grad = GradNet(argmax)
grad.compile(x)
def test_argmin():
x = Tensor(np.array([[1, 20, 5], [67, 8, 9], [130, 24, 15]]).astype(np.float32))
argmin = Net(P.Argmin())
grad = GradNet(argmin)
grad.compile(x)
def test_broadcast():
x = Tensor(np.array([1, 2, 5, 2]).astype(np.float32))
broadcast = TupleInputNet(P.Broadcast(1))
grad = GradNet(broadcast)
grad.compile(x)
def test_is_finite():
x = Tensor(np.ones([2, 4]).astype(np.int32))
is_finite = Net(P.IsFinite())
grad = GradNet(is_finite)
grad.compile(x)
def test_approximate_equal():
x = Tensor(np.array([1, 2, 3]).astype(np.float32))
y = Tensor(np.array([2, 4, 6]).astype(np.float32))
approximate_equal = Net(P.ApproximateEqual(2.))
grad = GradNet(approximate_equal)
grad.compile(x, y)
def test_logical_not():
x = Tensor(np.array([True, False, True]).astype(np.bool))
logical_not = Net(P.LogicalNot())
grad = GradNet(logical_not)
grad.compile(x)
def test_sign():
x = Tensor(np.array([[2.0, 0.0, -1.0]]).astype(np.float32))
sign = Net(P.Sign())
grad = GradNet(sign)
grad.compile(x)
def test_round():
x = Tensor(np.array([0.8, 1.5, 2.3, 2.5, -4.5]).astype(np.float32))
round_net = Net(P.Round())
grad = GradNet(round_net)
grad.compile(x)
def test_lin_space():
start = Tensor(1, mstype.float32)
stop = Tensor(10, mstype.float32)
num = 5
lin_space = Net(P.LinSpace())
grad = GradNet(lin_space)
grad.compile(start, stop, num)
def test_dropout_gen_mask():
x = (2, 4, 2, 2)
keep_prob = Tensor(1.0, mstype.float32)
dropout_gen_mask = Net(P.DropoutGenMask(10, 28))
grad = GradNet(dropout_gen_mask)
grad.compile(x, keep_prob)
def test_onehot():
indices = Tensor(np.array([0, 1, 2]).astype(np.int32))
depth, on_value, off_value = 3, Tensor(1.0, mstype.float32), Tensor(0.0, mstype.float32)
one_hot = Net(P.OneHot())
grad = GradNet(one_hot)
grad.compile(indices, depth, on_value, off_value)
def test_assign():
class AssignNet(nn.Cell):
def __init__(self):
super(AssignNet, self).__init__()
self.assign = P.Assign()
self.variable = Parameter(Tensor([1.0], mstype.float32), name="variable")
def construct(self, x):
return self.assign(self.variable, x)
value = Tensor([2.0], mstype.float32)
assign = AssignNet()
grad = GradNet(assign)
grad.compile(value)
def test_assign_add():
class AssignAddNet(nn.Cell):
def __init__(self):
super(AssignAddNet, self).__init__()
self.assign_add = P.AssignAdd()
self.variable = Parameter(initializer(1, [1], mstype.int64), name="global_step")
def construct(self, x):
return self.assign_add(self.variable, x)
value = Tensor(np.ones([1]).astype(np.int64) * 100)
assign_add = AssignAddNet()
grad = GradNet(assign_add)
grad.compile(value)
def test_assign_sub():
class AssignSubNet(nn.Cell):
def __init__(self):
super(AssignSubNet, self).__init__()
self.assign = P.AssignSub()
self.variable = Parameter(initializer(1, [1], mstype.int32), name="global_step")
def construct(self, x):
return self.assign(self.variable, x)
value = Tensor(np.ones([1]).astype(np.int32) * 100)
assign_sub = AssignSubNet()
grad = GradNet(assign_sub)
grad.compile(value)
def test_iou():
anchor_boxes = Tensor(np.random.randint(1.0, 5.0, [3, 4]).astype(np.float16))
gt_boxes = Tensor(np.random.randint(1.0, 5.0, [3, 4]).astype(np.float16))
iou = Net(P.IOU())
grad = GradNet(iou)
grad.compile(anchor_boxes, gt_boxes)
def test_bn_training_reduce():
x = Tensor(np.ones([128, 3, 32, 3]).astype(np.float32))
bn_training_reduce = Net(P.BNTrainingReduce())
grad = GradNet(bn_training_reduce)
grad.compile(x)
def test_equal():
x = Tensor([2.0], mstype.float32)
y = Tensor([2.0], mstype.float32)
equal = Net(P.Equal())
grad = GradNet(equal)
grad.compile(x, y)
def test_not_equal():
x = Tensor([2.0], mstype.float32)
y = Tensor([2.0], mstype.float32)
not_equal = Net(P.NotEqual())
grad = GradNet(not_equal)
grad.compile(x, y)
def test_greater():
x = Tensor(np.array([1, 2, 3]), mstype.int32)
y = Tensor(np.array([1, 1, 4]), mstype.int32)
greater = Net(P.Greater())
grad = GradNet(greater)
grad.compile(x, y)
def test_greater_equal():
x = Tensor(np.array([1, 2, 3]), mstype.int32)
y = Tensor(np.array([1, 1, 4]), mstype.int32)
greater_equal = Net(P.GreaterEqual())
grad = GradNet(greater_equal)
grad.compile(x, y)
def test_less():
x = Tensor(np.array([1, 2, 3]), mstype.int32)
y = Tensor(np.array([1, 1, 4]), mstype.int32)
less = Net(P.Less())
grad = GradNet(less)
grad.compile(x, y)
def test_less_equal():
x = Tensor(np.array([1, 2, 3]), mstype.int32)
y = Tensor(np.array([1, 1, 4]), mstype.int32)
less_equal = Net(P.LessEqual())
grad = GradNet(less_equal)
grad.compile(x, y)
def test_logical_and():
x = Tensor(np.array([True, False, True]), mstype.bool_)
y = Tensor(np.array([True, True, False]), mstype.bool_)
logical_and = Net(P.LogicalAnd())
grad = GradNet(logical_and)
grad.compile(x, y)
def test_logical_or():
x = Tensor(np.array([True, False, True]), mstype.bool_)
y = Tensor(np.array([True, True, False]), mstype.bool_)
logical_or = Net(P.LogicalOr())
grad = GradNet(logical_or)
grad.compile(x, y)
def test_reduce_all():
x = Tensor(np.array([[True, False], [True, True]]))
reduce_all = Net(P.ReduceAll(keep_dims=True))
grad = GradNet(reduce_all)
grad.compile(x)
def test_reduce_any():
x = Tensor(np.array([[True, False], [True, True]]))
reduce_all = Net(P.ReduceAny(keep_dims=True))
grad = GradNet(reduce_all)
grad.compile(x)
def test_dropout_do_mask():
input_x = Tensor(np.ones([2, 2, 3]), mstype.float32)
keep_prob = Tensor(0.5, mstype.float32)
mask = Tensor(np.ones([2]), mstype.uint8)
dropout_do_mask = Net(P.DropoutDoMask())
grad = GradNet(dropout_do_mask)
grad.compile(input_x, mask, keep_prob)