| 73 | } |
| 74 | |
| 75 | HostTensorND get_var_shape_host_tensor( |
| 76 | const OpDef& def, const SmallVector<TensorPtr>& inputs) { |
| 77 | SmallVector<DeviceTensorND> input_tensornds; |
| 78 | for (auto&& inp : inputs) { |
| 79 | input_tensornds.push_back(inp->dev_tensor(false)); |
| 80 | } |
| 81 | SmallVector<DeviceTensorND> output_tensornds = { |
| 82 | {CompNode::default_cpu(), dtype::Int32()}}; |
| 83 | apply_on_device_tensornd(def, input_tensornds, &output_tensornds); |
| 84 | // restore to input comp_node |
| 85 | return HostTensorND::make_proxy(output_tensornds[0]) |
| 86 | .proxy_to_comp_node(inputs[0]->comp_node()); |
| 87 | } |
| 88 | |
| 89 | SmallVector<TensorPtr> apply_on_physical_tensor( |
| 90 | const OpDef& def, const SmallVector<TensorPtr>& inputs, |
no test coverage detected