| 284 | } |
| 285 | |
| 286 | Status RemoveProducer(ValueId value) final { |
| 287 | ValueDef* v; |
| 288 | RETURN_IF_ERROR(LookupValue(value, &v)); |
| 289 | Value<TensorT>* value_ptr = v->value.get(); |
| 290 | if (v->producer == nullptr) { |
| 291 | return InvalidArgumentError("Value does not have a producer"); |
| 292 | } |
| 293 | Erase(&nodes_[v->producer->id].outputs, value_ptr); |
| 294 | v->producer = nullptr; |
| 295 | return OkStatus(); |
| 296 | } |
| 297 | |
| 298 | Status AddConsumer(NodeId consumer, ValueId value) final { |
| 299 | ValueDef* v; |