MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / OpDefAttrDefaultsUnchanged

Function OpDefAttrDefaultsUnchanged

tensorflow/core/framework/op_def_util.cc:714–738  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

712}
713
714Status OpDefAttrDefaultsUnchanged(const OpDef& old_op, const OpDef& new_op) {
715 AttrMap new_attrs, old_attrs;
716 FillAttrMap(old_op, &old_attrs);
717 FillAttrMap(new_op, &new_attrs);
718
719 for (const auto& old_attr : old_op.attr()) {
720 const OpDef::AttrDef* new_attr =
721 gtl::FindPtrOrNull(new_attrs, old_attr.name());
722 if (new_attr == nullptr) continue;
723 if (old_attr.has_default_value() != new_attr->has_default_value()) {
724 return errors::InvalidArgument(
725 "Attr '", old_attr.name(), "' has added/removed it's default; ",
726 "from ", DefaultAttrStr(old_attr), " to ", DefaultAttrStr(*new_attr));
727 }
728 if (old_attr.has_default_value() &&
729 !AreAttrValuesEqual(old_attr.default_value(),
730 new_attr->default_value())) {
731 return errors::InvalidArgument(
732 "Attr '", old_attr.name(), "' has changed it's default value; ",
733 "from ", DefaultAttrStr(old_attr), " to ", DefaultAttrStr(*new_attr));
734 }
735 }
736
737 return Status::OK();
738}
739
740void RemoveNonDeprecationDescriptionsFromOpDef(OpDef* op_def) {
741 for (int i = 0; i < op_def->input_arg_size(); ++i) {

Callers 2

ValidateCompatibleMethod · 0.85

Calls 9

FillAttrMapFunction · 0.85
FindPtrOrNullFunction · 0.85
InvalidArgumentFunction · 0.85
DefaultAttrStrFunction · 0.85
AreAttrValuesEqualFunction · 0.85
attrMethod · 0.80
has_default_valueMethod · 0.80
nameMethod · 0.65
default_valueMethod · 0.45

Tested by 1