mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Tensor construction codemod(ResizeLike) - 3/3 (#15943)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/15943 Codemod generated with clangr shard mode, 25 files per diff, motivation: https://github.com/pytorch/pytorch/pull/12407 Reviewed By: smessmer Differential Revision: D13629082 fbshipit-source-id: d3863615fd612f73bb73ac67159fd0f0d237fe5c
This commit is contained in:
committed by
Facebook Github Bot
parent
d042914221
commit
253b680928
@ -50,7 +50,7 @@ template <>
|
||||
bool BatchPermutationOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& X = Input(0);
|
||||
auto& indices = Input(1);
|
||||
auto* Y = Output(0);
|
||||
|
||||
|
||||
CAFFE_ENFORCE(indices.ndim() == 1, "indices must be 1-d");
|
||||
CAFFE_ENFORCE(
|
||||
@ -62,7 +62,7 @@ bool BatchPermutationOp<float, CUDAContext>::RunOnDevice() {
|
||||
indices.dim32(0),
|
||||
")");
|
||||
|
||||
Y->ResizeLike(X);
|
||||
auto* Y = Output(0, X.sizes(), at::dtype<float>());
|
||||
|
||||
BatchPermutationKernel<true><<<
|
||||
CAFFE_GET_BLOCKS(X.size()),
|
||||
@ -84,8 +84,8 @@ template <>
|
||||
bool BatchPermutationGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& indices = Input(0);
|
||||
auto& dY = Input(1);
|
||||
auto* dX = Output(0);
|
||||
dX->ResizeLike(dY);
|
||||
|
||||
auto* dX = Output(0, dY.sizes(), at::dtype<float>());
|
||||
|
||||
BatchPermutationKernel<false><<<
|
||||
CAFFE_GET_BLOCKS(dY.size()),
|
||||
|
@ -95,7 +95,6 @@ __global__ void SubSumKernel(
|
||||
template <>
|
||||
bool GroupSpatialSoftmaxOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& X = Input(0); // Logits
|
||||
auto* P = Output(0); // Probabilities from softmax
|
||||
|
||||
int N = X.dim32(0);
|
||||
int D = X.dim32(1);
|
||||
@ -103,7 +102,7 @@ bool GroupSpatialSoftmaxOp<float, CUDAContext>::RunOnDevice() {
|
||||
int W = X.dim32(3);
|
||||
int A = D / num_classes_;
|
||||
|
||||
P->ResizeLike(X);
|
||||
auto* P = Output(0, X.sizes(), at::dtype<float>()); // Probabilities from softmax
|
||||
DCHECK_EQ(X.ndim(), 4);
|
||||
|
||||
const float* Xdata = X.data<float>();
|
||||
@ -121,7 +120,7 @@ template<>
|
||||
bool GroupSpatialSoftmaxGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& Y = Input(0); // Probabilities from softmax
|
||||
auto& dY = Input(1);
|
||||
auto* dX = Output(0);
|
||||
|
||||
|
||||
DCHECK_EQ(Y.ndim(), 4);
|
||||
|
||||
@ -131,7 +130,7 @@ bool GroupSpatialSoftmaxGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
int W = Y.dim32(3);
|
||||
int A = D / num_classes_;
|
||||
|
||||
dX->ResizeLike(Y);
|
||||
auto* dX = Output(0, Y.sizes(), at::dtype<float>());
|
||||
|
||||
if (sum_probs_.size() != N * A * H * W) {
|
||||
ReinitializeTensor(&sum_probs_, {N * A * H * W}, at::dtype<float>().device(CUDA));
|
||||
|
@ -243,11 +243,9 @@ template<>
|
||||
bool PSRoIPoolOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& X = Input(0); // Input data to pool
|
||||
auto& R = Input(1); // RoIs
|
||||
// PSRoI pooled data
|
||||
// mapping_channel
|
||||
|
||||
auto* Y = Output(0, {R.dim32(0), output_dim_, pooled_height_, pooled_width_}, at::dtype<float>());
|
||||
auto* A = Output(1, Y->sizes(), at::dtype<int>());
|
||||
auto* Y = Output(0, {R.dim32(0), output_dim_, pooled_height_, pooled_width_}, at::dtype<float>()); // PSRoI pooled data
|
||||
auto* A = Output(1, Y->sizes(), at::dtype<int>()); // mapping_channel
|
||||
int output_size = Y->size();
|
||||
PSRoIPoolForward<float><<<CAFFE_GET_BLOCKS(output_size),
|
||||
CAFFE_CUDA_NUM_THREADS,
|
||||
@ -266,10 +264,9 @@ bool PSRoIPoolGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& A = Input(2); // mapping channels
|
||||
auto& dY = Input(3); // Gradient of net w.r.t. output of "forward" op
|
||||
// (aka "gradOutput")
|
||||
auto* dX = Output(0); // Gradient of net w.r.t. input to "forward" op
|
||||
// (aka "gradInput")
|
||||
|
||||
dX->ResizeLike(X);
|
||||
auto* dX = Output(0, X.sizes(), at::dtype<float>()); // Gradient of net w.r.t. input to "forward" op
|
||||
// (aka "gradInput")
|
||||
// Must zero-out dX before accumulating gradients
|
||||
math::Set<float, CUDAContext>(
|
||||
dX->size(), 0.f, dX->mutable_data<float>(), &context_);
|
||||
|
@ -160,10 +160,9 @@ bool RoIPoolFGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& A = Input(2); // argmaxes
|
||||
auto& dY = Input(3); // Gradient of net w.r.t. output of "forward" op
|
||||
// (aka "gradOutput")
|
||||
auto* dX = Output(0); // Gradient of net w.r.t. input to "forward" op
|
||||
// (aka "gradInput")
|
||||
|
||||
dX->ResizeLike(X);
|
||||
auto* dX = Output(0, X.sizes(), at::dtype<float>()); // Gradient of net w.r.t. input to "forward" op
|
||||
// (aka "gradInput")
|
||||
// Must zero-out dX before accumulating gradients
|
||||
math::Set<float, CUDAContext>(
|
||||
dX->size(), 0.f, dX->mutable_data<float>(), &context_);
|
||||
|
@ -80,9 +80,9 @@ bool SampleAsGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& X = Input(0);
|
||||
auto& L = Input(1);
|
||||
auto& dY = Input(2);
|
||||
auto* dX = Output(0);
|
||||
|
||||
dX->ResizeLike(X);
|
||||
|
||||
auto* dX = Output(0, X.sizes(), at::dtype<float>());
|
||||
|
||||
// copy L to CPU:
|
||||
std::vector<int> labels(L.dim32(0));
|
||||
|
@ -150,9 +150,8 @@ bool SelectSmoothL1LossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& S = Input(3);
|
||||
// Below is gradient of net w.r.t. avg_loss ("gradOuput"), should be all 1's
|
||||
auto& d_avg_loss = Input(4);
|
||||
auto* d_Y_hat = Output(0); // gradient of net w.r.t. Y_hat ("gradInput")
|
||||
|
||||
d_Y_hat->ResizeLike(Y_hat);
|
||||
auto* d_Y_hat = Output(0, Y_hat.sizes(), at::dtype<float>()); // gradient of net w.r.t. Y_hat ("gradInput")
|
||||
math::Set<float, CUDAContext>(
|
||||
d_Y_hat->size(), 0.0, d_Y_hat->mutable_data<float>(), &context_);
|
||||
if (Y.size() == 0){
|
||||
|
@ -120,9 +120,9 @@ bool SigmoidCrossEntropyLossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& X = Input(0);
|
||||
auto& T = Input(1);
|
||||
auto& d_avg_loss = Input(2);
|
||||
auto* dX = Output(0);
|
||||
|
||||
dX->ResizeLike(X);
|
||||
|
||||
auto* dX = Output(0, X.sizes(), at::dtype<float>());
|
||||
counts_.ResizeLike(X);
|
||||
ReinitializeTensor(&normalizer_, vector<int64_t>(), at::dtype<float>().device(CUDA));
|
||||
SigmoidCrossEntropyLossGradientKernel<<<
|
||||
|
@ -150,7 +150,7 @@ bool SigmoidFocalLossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& T = Input(1);
|
||||
auto& wp = Input(2);
|
||||
auto& d_avg_loss = Input(InputSize() - 1);
|
||||
auto* dX = Output(0);
|
||||
|
||||
|
||||
// get input shape
|
||||
int N = X.dim32(0);
|
||||
@ -158,7 +158,7 @@ bool SigmoidFocalLossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
int H = X.dim32(2);
|
||||
int W = X.dim32(3);
|
||||
|
||||
dX->ResizeLike(X);
|
||||
auto* dX = Output(0, X.sizes(), at::dtype<float>());
|
||||
|
||||
SigmoidFocalLossGradientKernel<<<CAFFE_GET_BLOCKS(X.size()),
|
||||
CAFFE_CUDA_NUM_THREADS, 0, context_.cuda_stream()>>>(
|
||||
|
@ -128,7 +128,6 @@ bool SmoothL1LossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& alpha_in = Input(2);
|
||||
auto& alpha_out = Input(3);
|
||||
auto& d_avg_loss = Input(4); // gradient of net w.r.t. avg_loss ("gradOuput")
|
||||
auto* d_Y_hat = Output(0); // gradient of net w.r.t. Y_hat ("gradInput")
|
||||
// We intentially don't compute gradients for Y, alpha_{in,out} since they
|
||||
// are not needed (can change in the future if desired)
|
||||
|
||||
@ -143,7 +142,7 @@ bool SmoothL1LossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
CAFFE_ENFORCE_EQ(Y_hat.size(), alpha_out.size());
|
||||
CAFFE_ENFORCE_EQ(d_avg_loss.size(), 1);
|
||||
|
||||
d_Y_hat->ResizeLike(Y_hat);
|
||||
auto* d_Y_hat = Output(0, Y_hat.sizes(), at::dtype<float>()); // gradient of net w.r.t. Y_hat ("gradInput")
|
||||
buff_.ResizeLike(Y);
|
||||
|
||||
// Difference
|
||||
|
@ -203,7 +203,6 @@ bool SoftmaxFocalLossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
auto& wp = Input(2); // num of foreground example
|
||||
auto& P = Input(3); // Softmax Probability
|
||||
auto& d_avg_loss = Input(4);
|
||||
auto* dX = Output(0); // gradient wrt logits
|
||||
|
||||
|
||||
int N = X.dim32(0);
|
||||
@ -214,7 +213,7 @@ bool SoftmaxFocalLossGradientOp<float, CUDAContext>::RunOnDevice() {
|
||||
|
||||
ReinitializeTensor(&buff_, {N * A * H * W}, at::dtype<float>().device(CUDA));
|
||||
|
||||
dX->ResizeLike(X);
|
||||
auto* dX = Output(0, X.sizes(), at::dtype<float>()); // gradient wrt logits
|
||||
|
||||
const float* Xdata = X.data<float>();
|
||||
const int* Tdata = T.data<int>();
|
||||
|
@ -130,9 +130,8 @@ bool SpatialNarrowAsGradientOp<CUDAContext>::DoRunWithType() {
|
||||
auto& A = Input(0);
|
||||
auto& B = Input(1);
|
||||
auto& dC = Input(2); // Gradient of net w.r.t. output of forward op
|
||||
auto* dA = Output(0); // Gradient of net w.r.t. input to forward op
|
||||
auto* dA = Output(0, A.sizes(), at::dtype<T>()); // Gradient of net w.r.t. input to forward op
|
||||
|
||||
dA->ResizeLike(A);
|
||||
math::Set<T, CUDAContext>(
|
||||
dA->size(), 0.f, dA->template mutable_data<T>(), &context_);
|
||||
int out_width = dA->dim32(3);
|
||||
|
Reference in New Issue
Block a user