#pragma once #include #include #include namespace torch { namespace jit { // Moved from shape_analysis.cpp // Requirements: // dims : preserved from the first argument // scalar type : preserved from the first argument (doesn't have to // match other arguments) // device : always matching and preserved // tensor inputs : * // tensor outputs : 1 // NB: those ops (with slight adjustments) are good candidates for restarts. // Knowing the type and device of weights or biases is usually enough to // infer the output type. std::shared_ptr nn_ops_first_input_preserving(); // Requirements: // dims : Changed from first argument // scalar type : preserved from the first argument // device : always matching and preserved // tensor inputs : 1 // tensor outputs : 1 std::shared_ptr ops_one_tensor_in_shape_transform(); } // namespace jit } // namespace torch