| 63 | } |
| 64 | |
| 65 | static SymbolVar make(ComputingGraph& graph, Tensor& tensor) { |
| 66 | auto opr = graph.insert_opr(std::make_unique<InputPlaceholder>(graph, &tensor)); |
| 67 | auto var = opr->output(0); |
| 68 | auto&& dev_tensor = tensor.dev_tensor(false); |
| 69 | var->m_comp_node = dev_tensor.comp_node(); |
| 70 | var->m_shape = dev_tensor.shape(); |
| 71 | if (dev_tensor.empty()) { |
| 72 | auto layout = dev_tensor.layout(); |
| 73 | layout.init_contiguous_stride(); |
| 74 | dev_tensor.reset(dev_tensor.storage(), layout); |
| 75 | } |
| 76 | var->force_assign_dev_tensor_from_tensor(dev_tensor); |
| 77 | return var; |
| 78 | } |
| 79 | |
| 80 | static SymbolVar make(ComputingGraph& graph, const LogicalTensorDesc& desc) { |
| 81 | auto opr = graph.insert_opr( |