@@ -202,32 +202,33 @@ static TF_Tensor* Int32Tensor(int32 v) {
202
202
&Int32Deallocator, nullptr );
203
203
}
204
204
205
- TF_Node * Placeholder (TF_Graph* graph, TF_Status* s) {
206
- TF_NodeDescription * desc = TF_NewNode (graph, " Placeholder" , " feed" );
205
+ TF_Operation * Placeholder (TF_Graph* graph, TF_Status* s) {
206
+ TF_OperationDescription * desc = TF_NewOperation (graph, " Placeholder" , " feed" );
207
207
TF_SetAttrType (desc, " dtype" , TF_INT32);
208
- return TF_FinishNode (desc, s);
208
+ return TF_FinishOperation (desc, s);
209
209
}
210
210
211
- TF_Node * ScalarConst (int32 v, TF_Graph* graph, TF_Status* s) {
212
- TF_NodeDescription * desc = TF_NewNode (graph, " Const" , " scalar" );
211
+ TF_Operation * ScalarConst (int32 v, TF_Graph* graph, TF_Status* s) {
212
+ TF_OperationDescription * desc = TF_NewOperation (graph, " Const" , " scalar" );
213
213
TF_SetAttrTensor (desc, " value" , Int32Tensor (v), s);
214
214
if (TF_GetCode (s) != TF_OK) return nullptr ;
215
215
TF_SetAttrType (desc, " dtype" , TF_INT32);
216
- return TF_FinishNode (desc, s);
216
+ return TF_FinishOperation (desc, s);
217
217
}
218
218
219
- TF_Node* Add (TF_Node* l, TF_Node* r, TF_Graph* graph, TF_Status* s) {
220
- TF_NodeDescription* desc = TF_NewNode (graph, " AddN" , " add" );
219
+ TF_Operation* Add (TF_Operation* l, TF_Operation* r, TF_Graph* graph,
220
+ TF_Status* s) {
221
+ TF_OperationDescription* desc = TF_NewOperation (graph, " AddN" , " add" );
221
222
TF_Port add_inputs[2 ] = {{l, 0 }, {r, 0 }};
222
223
TF_AddInputList (desc, add_inputs, 2 );
223
- return TF_FinishNode (desc, s);
224
+ return TF_FinishOperation (desc, s);
224
225
}
225
226
226
- TF_Node * Neg (TF_Node * n, TF_Graph* graph, TF_Status* s) {
227
- TF_NodeDescription * desc = TF_NewNode (graph, " Neg" , " neg" );
227
+ TF_Operation * Neg (TF_Operation * n, TF_Graph* graph, TF_Status* s) {
228
+ TF_OperationDescription * desc = TF_NewOperation (graph, " Neg" , " neg" );
228
229
TF_Port neg_input = {n, 0 };
229
230
TF_AddInput (desc, neg_input);
230
- return TF_FinishNode (desc, s);
231
+ return TF_FinishOperation (desc, s);
231
232
}
232
233
233
234
bool IsPlaceholder (const NodeDef& node_def) {
@@ -318,10 +319,10 @@ bool GetGraphDef(TF_Graph* graph, GraphDef* graph_def) {
318
319
return ret;
319
320
}
320
321
321
- bool GetNodeDef (TF_Node* node , NodeDef* node_def) {
322
+ bool GetNodeDef (TF_Operation* oper , NodeDef* node_def) {
322
323
TF_Status* s = TF_NewStatus ();
323
324
TF_Buffer* buffer = TF_NewBuffer ();
324
- TF_NodeToNodeDef (node , buffer, s);
325
+ TF_OperationToNodeDef (oper , buffer, s);
325
326
bool ret = TF_GetCode (s) == TF_OK;
326
327
EXPECT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
327
328
if (ret) ret = node_def->ParseFromArray (buffer->data , buffer->length );
@@ -330,10 +331,10 @@ bool GetNodeDef(TF_Node* node, NodeDef* node_def) {
330
331
return ret;
331
332
}
332
333
333
- bool GetAttrValue (TF_Node* node , const char * attr_name,
334
+ bool GetAttrValue (TF_Operation* oper , const char * attr_name,
334
335
tensorflow::AttrValue* attr_value, TF_Status* s) {
335
336
TF_Buffer* buffer = TF_NewBuffer ();
336
- TF_NodeGetAttrValueProto (node , attr_name, buffer, s);
337
+ TF_OperationGetAttrValueProto (oper , attr_name, buffer, s);
337
338
bool ret = TF_GetCode (s) == TF_OK;
338
339
if (ret) ret = attr_value->ParseFromArray (buffer->data , buffer->length );
339
340
TF_DeleteBuffer (buffer);
@@ -344,82 +345,83 @@ TEST(CAPI, Graph) {
344
345
TF_Status* s = TF_NewStatus ();
345
346
TF_Graph* graph = TF_NewGraph ();
346
347
347
- // Make a placeholder node .
348
- TF_Node * feed = Placeholder (graph, s);
348
+ // Make a placeholder oper .
349
+ TF_Operation * feed = Placeholder (graph, s);
349
350
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
350
351
351
- // Test TF_Node *() query functions.
352
- EXPECT_EQ (string (" feed" ), string (TF_NodeName (feed)));
353
- EXPECT_EQ (string (" Placeholder" ), string (TF_NodeOpType (feed)));
354
- EXPECT_EQ (string (" " ), string (TF_NodeDevice (feed)));
355
- EXPECT_EQ (1 , TF_NodeNumOutputs (feed));
356
- EXPECT_EQ (TF_INT32, TF_NodeOutputType (TF_Port{feed, 0 }));
357
- EXPECT_EQ (1 , TF_NodeOutputListLength (feed, " output" , s));
352
+ // Test TF_Operation *() query functions.
353
+ EXPECT_EQ (string (" feed" ), string (TF_OperationName (feed)));
354
+ EXPECT_EQ (string (" Placeholder" ), string (TF_OperationOpType (feed)));
355
+ EXPECT_EQ (string (" " ), string (TF_OperationDevice (feed)));
356
+ EXPECT_EQ (1 , TF_OperationNumOutputs (feed));
357
+ EXPECT_EQ (TF_INT32, TF_OperationOutputType (TF_Port{feed, 0 }));
358
+ EXPECT_EQ (1 , TF_OperationOutputListLength (feed, " output" , s));
358
359
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
359
- EXPECT_EQ (0 , TF_NodeNumInputs (feed));
360
- EXPECT_EQ (0 , TF_NodeOutputNumConsumers (TF_Port{feed, 0 }));
361
- EXPECT_EQ (0 , TF_NodeNumControlInputs (feed));
362
- EXPECT_EQ (0 , TF_NodeNumControlOutputs (feed));
360
+ EXPECT_EQ (0 , TF_OperationNumInputs (feed));
361
+ EXPECT_EQ (0 , TF_OperationOutputNumConsumers (TF_Port{feed, 0 }));
362
+ EXPECT_EQ (0 , TF_OperationNumControlInputs (feed));
363
+ EXPECT_EQ (0 , TF_OperationNumControlOutputs (feed));
363
364
364
365
tensorflow::AttrValue attr_value;
365
366
ASSERT_TRUE (GetAttrValue (feed, " dtype" , &attr_value, s)) << TF_Message (s);
366
367
EXPECT_EQ (attr_value.type (), tensorflow::DT_INT32);
367
368
368
- // Test not found errors in TF_Node *() query functions.
369
- EXPECT_EQ (-1 , TF_NodeOutputListLength (feed, " bogus" , s));
369
+ // Test not found errors in TF_Operation *() query functions.
370
+ EXPECT_EQ (-1 , TF_OperationOutputListLength (feed, " bogus" , s));
370
371
EXPECT_EQ (TF_INVALID_ARGUMENT, TF_GetCode (s));
371
372
372
373
ASSERT_FALSE (GetAttrValue (feed, " missing" , &attr_value, s));
373
- EXPECT_EQ (string (" Node has no attr named 'missing'." ), string (TF_Message (s)));
374
+ EXPECT_EQ (string (" Operation has no attr named 'missing'." ),
375
+ string (TF_Message (s)));
374
376
375
- // Make a constant node with the scalar "3".
376
- TF_Node * three = ScalarConst (3 , graph, s);
377
+ // Make a constant oper with the scalar "3".
378
+ TF_Operation * three = ScalarConst (3 , graph, s);
377
379
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
378
380
379
- // Add node .
380
- TF_Node * add = Add (feed, three, graph, s);
381
+ // Add oper .
382
+ TF_Operation * add = Add (feed, three, graph, s);
381
383
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
382
384
383
- // Test TF_Node *() query functions.
384
- EXPECT_EQ (string (" add" ), string (TF_NodeName (add)));
385
- EXPECT_EQ (string (" AddN" ), string (TF_NodeOpType (add)));
386
- EXPECT_EQ (string (" " ), string (TF_NodeDevice (add)));
387
- EXPECT_EQ (1 , TF_NodeNumOutputs (add));
388
- EXPECT_EQ (TF_INT32, TF_NodeOutputType (TF_Port{add, 0 }));
389
- EXPECT_EQ (1 , TF_NodeOutputListLength (add, " sum" , s));
385
+ // Test TF_Operation *() query functions.
386
+ EXPECT_EQ (string (" add" ), string (TF_OperationName (add)));
387
+ EXPECT_EQ (string (" AddN" ), string (TF_OperationOpType (add)));
388
+ EXPECT_EQ (string (" " ), string (TF_OperationDevice (add)));
389
+ EXPECT_EQ (1 , TF_OperationNumOutputs (add));
390
+ EXPECT_EQ (TF_INT32, TF_OperationOutputType (TF_Port{add, 0 }));
391
+ EXPECT_EQ (1 , TF_OperationOutputListLength (add, " sum" , s));
390
392
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
391
- EXPECT_EQ (2 , TF_NodeNumInputs (add));
392
- EXPECT_EQ (2 , TF_NodeInputListLength (add, " inputs" , s));
393
+ EXPECT_EQ (2 , TF_OperationNumInputs (add));
394
+ EXPECT_EQ (2 , TF_OperationInputListLength (add, " inputs" , s));
393
395
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
394
- EXPECT_EQ (TF_INT32, TF_NodeInputType (TF_Port{add, 0 }));
395
- EXPECT_EQ (TF_INT32, TF_NodeInputType (TF_Port{add, 1 }));
396
- TF_Port add_in_0 = TF_NodeInput (TF_Port{add, 0 });
397
- EXPECT_EQ (feed, add_in_0.node );
396
+ EXPECT_EQ (TF_INT32, TF_OperationInputType (TF_Port{add, 0 }));
397
+ EXPECT_EQ (TF_INT32, TF_OperationInputType (TF_Port{add, 1 }));
398
+ TF_Port add_in_0 = TF_OperationInput (TF_Port{add, 0 });
399
+ EXPECT_EQ (feed, add_in_0.oper );
398
400
EXPECT_EQ (0 , add_in_0.index );
399
- TF_Port add_in_1 = TF_NodeInput (TF_Port{add, 1 });
400
- EXPECT_EQ (three, add_in_1.node );
401
+ TF_Port add_in_1 = TF_OperationInput (TF_Port{add, 1 });
402
+ EXPECT_EQ (three, add_in_1.oper );
401
403
EXPECT_EQ (0 , add_in_1.index );
402
- EXPECT_EQ (0 , TF_NodeOutputNumConsumers (TF_Port{add, 0 }));
403
- EXPECT_EQ (0 , TF_NodeNumControlInputs (add));
404
- EXPECT_EQ (0 , TF_NodeNumControlOutputs (add));
404
+ EXPECT_EQ (0 , TF_OperationOutputNumConsumers (TF_Port{add, 0 }));
405
+ EXPECT_EQ (0 , TF_OperationNumControlInputs (add));
406
+ EXPECT_EQ (0 , TF_OperationNumControlOutputs (add));
405
407
406
408
ASSERT_TRUE (GetAttrValue (add, " T" , &attr_value, s)) << TF_Message (s);
407
409
EXPECT_EQ (attr_value.type (), tensorflow::DT_INT32);
408
410
ASSERT_TRUE (GetAttrValue (add, " N" , &attr_value, s)) << TF_Message (s);
409
411
EXPECT_EQ (attr_value.i (), 2 );
410
412
411
- // Placeholder node now has a consumer.
412
- ASSERT_EQ (1 , TF_NodeOutputNumConsumers (TF_Port{feed, 0 }));
413
+ // Placeholder oper now has a consumer.
414
+ ASSERT_EQ (1 , TF_OperationOutputNumConsumers (TF_Port{feed, 0 }));
413
415
TF_Port feed_port;
414
- EXPECT_EQ (1 , TF_NodeOutputConsumers (TF_Port{feed, 0 }, &feed_port, 1 ));
415
- EXPECT_EQ (add, feed_port.node );
416
+ EXPECT_EQ (1 , TF_OperationOutputConsumers (TF_Port{feed, 0 }, &feed_port, 1 ));
417
+ EXPECT_EQ (add, feed_port.oper );
416
418
EXPECT_EQ (0 , feed_port.index );
417
419
418
- // The scalar const node also has a consumer.
419
- ASSERT_EQ (1 , TF_NodeOutputNumConsumers (TF_Port{three, 0 }));
420
+ // The scalar const oper also has a consumer.
421
+ ASSERT_EQ (1 , TF_OperationOutputNumConsumers (TF_Port{three, 0 }));
420
422
TF_Port three_port;
421
- EXPECT_EQ (1 , TF_NodeOutputConsumers (TF_Port{three, 0 }, &three_port, 1 ));
422
- EXPECT_EQ (add, three_port.node );
423
+ EXPECT_EQ (1 , TF_OperationOutputConsumers (TF_Port{three, 0 }, &three_port, 1 ));
424
+ EXPECT_EQ (add, three_port.oper );
423
425
EXPECT_EQ (1 , three_port.index );
424
426
425
427
// Serialize to GraphDef.
@@ -448,8 +450,8 @@ TEST(CAPI, Graph) {
448
450
EXPECT_TRUE (found_scalar_const);
449
451
EXPECT_TRUE (found_add);
450
452
451
- // Add another node to the graph.
452
- TF_Node * neg = Neg (add, graph, s);
453
+ // Add another oper to the graph.
454
+ TF_Operation * neg = Neg (add, graph, s);
453
455
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
454
456
455
457
// Serialize to NodeDef.
@@ -469,13 +471,13 @@ TEST(CAPI, Graph) {
469
471
EXPECT_EQ (ProtoDebugString (graph_def), ProtoDebugString (graph_def2));
470
472
471
473
// Look up some nodes by name.
472
- TF_Node * neg2 = TF_GraphNodeByName (graph, " neg" );
474
+ TF_Operation * neg2 = TF_GraphOperationByName (graph, " neg" );
473
475
EXPECT_TRUE (neg == neg2);
474
476
NodeDef node_def2;
475
477
ASSERT_TRUE (GetNodeDef (neg2, &node_def2));
476
478
EXPECT_EQ (ProtoDebugString (node_def), ProtoDebugString (node_def2));
477
479
478
- TF_Node * feed2 = TF_GraphNodeByName (graph, " feed" );
480
+ TF_Operation * feed2 = TF_GraphOperationByName (graph, " feed" );
479
481
EXPECT_TRUE (feed == feed2);
480
482
ASSERT_TRUE (GetNodeDef (feed, &node_def));
481
483
ASSERT_TRUE (GetNodeDef (feed2, &node_def2));
@@ -487,22 +489,22 @@ TEST(CAPI, Graph) {
487
489
found_add = false ;
488
490
bool found_neg = false ;
489
491
size_t pos = 0 ;
490
- TF_Node* node ;
491
- while ((node = TF_GraphNextNode (graph, &pos)) != nullptr ) {
492
- if (node == feed) {
492
+ TF_Operation* oper ;
493
+ while ((oper = TF_GraphNextOperation (graph, &pos)) != nullptr ) {
494
+ if (oper == feed) {
493
495
EXPECT_FALSE (found_placeholder);
494
496
found_placeholder = true ;
495
- } else if (node == three) {
497
+ } else if (oper == three) {
496
498
EXPECT_FALSE (found_scalar_const);
497
499
found_scalar_const = true ;
498
- } else if (node == add) {
500
+ } else if (oper == add) {
499
501
EXPECT_FALSE (found_add);
500
502
found_add = true ;
501
- } else if (node == neg) {
503
+ } else if (oper == neg) {
502
504
EXPECT_FALSE (found_neg);
503
505
found_neg = true ;
504
506
} else {
505
- ASSERT_TRUE (GetNodeDef (node , &node_def));
507
+ ASSERT_TRUE (GetNodeDef (oper , &node_def));
506
508
ADD_FAILURE () << " Unexpected Node: " << ProtoDebugString (node_def);
507
509
}
508
510
}
@@ -532,7 +534,7 @@ class CSessionWithGraph {
532
534
}
533
535
534
536
void SetInputs (
535
- std::initializer_list<std::pair<TF_Node *, TF_Tensor*>> inputs) {
537
+ std::initializer_list<std::pair<TF_Operation *, TF_Tensor*>> inputs) {
536
538
DeleteInputValues ();
537
539
inputs_.clear ();
538
540
for (const auto & p : inputs) {
@@ -541,17 +543,17 @@ class CSessionWithGraph {
541
543
}
542
544
}
543
545
544
- void SetOutputs (std::initializer_list<TF_Node *> outputs) {
546
+ void SetOutputs (std::initializer_list<TF_Operation *> outputs) {
545
547
ResetOutputValues ();
546
548
outputs_.clear ();
547
- for (TF_Node * o : outputs) {
549
+ for (TF_Operation * o : outputs) {
548
550
outputs_.emplace_back (TF_Port{o, 0 });
549
551
}
550
552
}
551
553
552
- void SetTargets (std::initializer_list<TF_Node *> targets) {
554
+ void SetTargets (std::initializer_list<TF_Operation *> targets) {
553
555
targets_.clear ();
554
- for (TF_Node * t : targets) {
556
+ for (TF_Operation * t : targets) {
555
557
targets_.emplace_back (t);
556
558
}
557
559
}
@@ -572,7 +574,8 @@ class CSessionWithGraph {
572
574
TF_Tensor** output_values_ptr =
573
575
output_values_.empty () ? nullptr : &output_values_[0 ];
574
576
575
- TF_Node* const * targets_ptr = targets_.empty () ? nullptr : &targets_[0 ];
577
+ TF_Operation* const * targets_ptr =
578
+ targets_.empty () ? nullptr : &targets_[0 ];
576
579
577
580
TF_SessionRun (session_, nullptr , inputs_ptr, input_values_ptr,
578
581
inputs_.size (), outputs_ptr, output_values_ptr,
@@ -615,23 +618,23 @@ class CSessionWithGraph {
615
618
std::vector<TF_Tensor*> input_values_;
616
619
std::vector<TF_Port> outputs_;
617
620
std::vector<TF_Tensor*> output_values_;
618
- std::vector<TF_Node *> targets_;
621
+ std::vector<TF_Operation *> targets_;
619
622
};
620
623
621
624
TEST (CAPI, SessionWithGraph) {
622
625
TF_Status* s = TF_NewStatus ();
623
626
TF_Graph* graph = TF_NewGraph ();
624
627
625
- // Make a placeholder node .
626
- TF_Node * feed = Placeholder (graph, s);
628
+ // Make a placeholder operation .
629
+ TF_Operation * feed = Placeholder (graph, s);
627
630
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
628
631
629
- // Make a constant node with the scalar "2".
630
- TF_Node * two = ScalarConst (2 , graph, s);
632
+ // Make a constant operation with the scalar "2".
633
+ TF_Operation * two = ScalarConst (2 , graph, s);
631
634
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
632
635
633
- // Add node .
634
- TF_Node * add = Add (feed, two, graph, s);
636
+ // Add operation .
637
+ TF_Operation * add = Add (feed, two, graph, s);
635
638
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
636
639
637
640
// Create a session for this graph.
@@ -652,11 +655,11 @@ TEST(CAPI, SessionWithGraph) {
652
655
static_cast <tensorflow::int32*>(TF_TensorData (out));
653
656
EXPECT_EQ (3 + 2 , *output_contents);
654
657
655
- // Add another node to the graph.
656
- TF_Node * neg = Neg (add, graph, s);
658
+ // Add another operation to the graph.
659
+ TF_Operation * neg = Neg (add, graph, s);
657
660
ASSERT_EQ (TF_OK, TF_GetCode (s)) << TF_Message (s);
658
661
659
- // Run up to the new node .
662
+ // Run up to the new operation .
660
663
csession.SetInputs ({{feed, Int32Tensor (7 )}});
661
664
csession.SetOutputs ({neg});
662
665
csession.Run (s);
0 commit comments