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:
Jerry Zhang
2019-01-11 14:10:14 -08:00
committed by Facebook Github Bot
parent d042914221
commit 253b680928
11 changed files with 23 additions and 32 deletions

View File

@ -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()),

View File

@ -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));

View File

@ -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_);

View File

@ -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_);

View File

@ -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));

View File

@ -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){

View File

@ -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<<<

View File

@ -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()>>>(

View File

@ -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

View File

@ -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>();

View File

@ -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);