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

Function PrintAttrValue

tensorflow/cc/framework/cc_op_gen.cc:213–281  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

211}
212
213string PrintAttrValue(const string& op, const AttrValue& attr_value) {
214 switch (attr_value.value_case()) {
215 case AttrValue::kS:
216 return PrintString(attr_value.s());
217 case AttrValue::kI:
218 return strings::StrCat(attr_value.i());
219 case AttrValue::kF: {
220 const float f = attr_value.f();
221 return strings::StrCat(attr_value.f(), floorf(f) == f ? ".0" : "", "f");
222 }
223 case AttrValue::kB:
224 return attr_value.b() ? "true" : "false";
225 case AttrValue::kType:
226 return EnumName_DataType(attr_value.type());
227 case AttrValue::kShape:
228 return PrintTensorShape(attr_value.shape());
229 case AttrValue::kTensor:
230 return PrintTensorProto(attr_value.tensor());
231 case AttrValue::kList: {
232 string ret = "{";
233 if (attr_value.list().s_size() > 0) {
234 for (int i = 0; i < attr_value.list().s_size(); ++i) {
235 if (i > 0) strings::StrAppend(&ret, ", ");
236 strings::StrAppend(&ret, PrintString(attr_value.list().s(i)));
237 }
238 } else if (attr_value.list().i_size() > 0) {
239 for (int i = 0; i < attr_value.list().i_size(); ++i) {
240 if (i > 0) strings::StrAppend(&ret, ", ");
241 strings::StrAppend(&ret, attr_value.list().i(i));
242 }
243 } else if (attr_value.list().f_size() > 0) {
244 for (int i = 0; i < attr_value.list().f_size(); ++i) {
245 if (i > 0) strings::StrAppend(&ret, ", ");
246 const float f = attr_value.list().f(i);
247 strings::StrAppend(&ret, f, floorf(f) == f ? ".0" : "", "f");
248 }
249 } else if (attr_value.list().b_size() > 0) {
250 for (int i = 0; i < attr_value.list().b_size(); ++i) {
251 if (i > 0) strings::StrAppend(&ret, ", ");
252 strings::StrAppend(&ret, attr_value.list().b(i) ? "true" : "false");
253 }
254 } else if (attr_value.list().type_size() > 0) {
255 for (int i = 0; i < attr_value.list().type_size(); ++i) {
256 if (i > 0) strings::StrAppend(&ret, ", ");
257 strings::StrAppend(&ret,
258 EnumName_DataType(attr_value.list().type(i)));
259 }
260 } else if (attr_value.list().shape_size() > 0) {
261 for (int i = 0; i < attr_value.list().shape_size(); ++i) {
262 if (i > 0) strings::StrAppend(&ret, ", ");
263 strings::StrAppend(&ret,
264 PrintTensorShape(attr_value.list().shape(i)));
265 }
266 } else if (attr_value.list().tensor_size() > 0) {
267 for (int i = 0; i < attr_value.list().tensor_size(); ++i) {
268 if (i > 0) strings::StrAppend(&ret, ", ");
269 strings::StrAppend(&ret,
270 PrintTensorProto(attr_value.list().tensor(i)));

Callers 1

GetOpAttrStructMethod · 0.85

Calls 13

PrintStringFunction · 0.85
PrintTensorShapeFunction · 0.85
PrintTensorProtoFunction · 0.85
listMethod · 0.80
tensor_sizeMethod · 0.80
typeMethod · 0.65
StrCatFunction · 0.50
StrAppendFunction · 0.50
iMethod · 0.45
fMethod · 0.45
bMethod · 0.45
shapeMethod · 0.45

Tested by

no test coverage detected