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

Function SummarizeAttrValue

tensorflow/core/framework/attr_value_util.cc:229–297  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

227} // namespace
228
229string SummarizeAttrValue(const AttrValue& attr_value) {
230 switch (attr_value.value_case()) {
231 case AttrValue::kS:
232 return SummarizeString(attr_value.s());
233 case AttrValue::kI:
234 return strings::StrCat(attr_value.i());
235 case AttrValue::kF:
236 return strings::StrCat(attr_value.f());
237 case AttrValue::kB:
238 return attr_value.b() ? "true" : "false";
239 case AttrValue::kType:
240 return EnumName_DataType(attr_value.type());
241 case AttrValue::kShape:
242 return PartialTensorShape::DebugString(attr_value.shape());
243 case AttrValue::kTensor:
244 return SummarizeTensor(attr_value.tensor());
245 case AttrValue::kList: {
246 std::vector<string> pieces;
247 if (attr_value.list().s_size() > 0) {
248 for (int i = 0; i < attr_value.list().s_size(); ++i) {
249 pieces.push_back(SummarizeString(attr_value.list().s(i)));
250 }
251 } else if (attr_value.list().i_size() > 0) {
252 for (int i = 0; i < attr_value.list().i_size(); ++i) {
253 pieces.push_back(strings::StrCat(attr_value.list().i(i)));
254 }
255 } else if (attr_value.list().f_size() > 0) {
256 for (int i = 0; i < attr_value.list().f_size(); ++i) {
257 pieces.push_back(strings::StrCat(attr_value.list().f(i)));
258 }
259 } else if (attr_value.list().b_size() > 0) {
260 for (int i = 0; i < attr_value.list().b_size(); ++i) {
261 pieces.push_back(attr_value.list().b(i) ? "true" : "false");
262 }
263 } else if (attr_value.list().type_size() > 0) {
264 for (int i = 0; i < attr_value.list().type_size(); ++i) {
265 pieces.push_back(EnumName_DataType(attr_value.list().type(i)));
266 }
267 } else if (attr_value.list().shape_size() > 0) {
268 for (int i = 0; i < attr_value.list().shape_size(); ++i) {
269 pieces.push_back(
270 TensorShape::DebugString(attr_value.list().shape(i)));
271 }
272 } else if (attr_value.list().tensor_size() > 0) {
273 for (int i = 0; i < attr_value.list().tensor_size(); ++i) {
274 pieces.push_back(SummarizeTensor(attr_value.list().tensor(i)));
275 }
276 } else if (attr_value.list().func_size() > 0) {
277 for (int i = 0; i < attr_value.list().func_size(); ++i) {
278 pieces.push_back(SummarizeFunc(attr_value.list().func(i)));
279 }
280 }
281 constexpr int kMaxListSummarySize = 15;
282 if (pieces.size() >= kMaxListSummarySize) {
283 pieces.erase(pieces.begin() + 5, pieces.begin() + (pieces.size() - 6));
284 pieces[5] = "...";
285 }
286 return strings::StrCat("[", absl::StrJoin(pieces, ", "), "]");

Callers 15

EqualAttrValueWrapperFunction · 0.85
MatchAndExplainMethod · 0.85
DescribeToMethod · 0.85
KernelsRegisteredForOpFunction · 0.85
SummarizeFuncFunction · 0.85
TESTFunction · 0.85
SummarizeOpDefFunction · 0.85
AllowedStrFunction · 0.85
DefaultAttrStrFunction · 0.85
PrintFunction · 0.85

Calls 15

SummarizeStringFunction · 0.85
SummarizeTensorFunction · 0.85
SummarizeFuncFunction · 0.85
listMethod · 0.80
tensor_sizeMethod · 0.80
DebugStringFunction · 0.70
typeMethod · 0.65
StrCatFunction · 0.50
iMethod · 0.45
fMethod · 0.45
bMethod · 0.45
shapeMethod · 0.45

Tested by 2

TESTFunction · 0.68
TEST_FFunction · 0.68