From 5585a05b675917d33f7c3ac77d6863b5bd4c65d3 Mon Sep 17 00:00:00 2001 From: Vasilis Vryniotis Date: Mon, 16 Nov 2020 11:18:05 +0000 Subject: [PATCH 1/2] Removing python headers and code for Python2 compatibility. --- torchvision/csrc/cpu/image/image.cpp | 10 ---------- torchvision/csrc/cpu/video/Video.cpp | 16 ---------------- torchvision/csrc/cpu/video/Video.h | 1 - .../csrc/cpu/video_reader/VideoReader.cpp | 17 ----------------- torchvision/csrc/empty_tensor_op.h | 2 -- torchvision/csrc/vision.cpp | 19 ------------------- 6 files changed, 65 deletions(-) diff --git a/torchvision/csrc/cpu/image/image.cpp b/torchvision/csrc/cpu/image/image.cpp index d9234aceb6e..298dd5abd51 100644 --- a/torchvision/csrc/cpu/image/image.cpp +++ b/torchvision/csrc/cpu/image/image.cpp @@ -1,16 +1,6 @@ #include "image.h" #include -#include - -// If we are in a Windows environment, we need to define -// initialization functions for the _custom_ops extension -#ifdef _WIN32 -PyMODINIT_FUNC PyInit_image(void) { - // No need to do anything. - return NULL; -} -#endif static auto registry = torch::RegisterOperators() .op("image::decode_png", &decodePNG) diff --git a/torchvision/csrc/cpu/video/Video.cpp b/torchvision/csrc/cpu/video/Video.cpp index c80d8798768..050e8de15d5 100644 --- a/torchvision/csrc/cpu/video/Video.cpp +++ b/torchvision/csrc/cpu/video/Video.cpp @@ -9,22 +9,6 @@ using namespace std; using namespace ffmpeg; -// If we are in a Windows environment, we need to define -// initialization functions for the _custom_ops extension -// #ifdef _WIN32 -// #if PY_MAJOR_VERSION < 3 -// PyMODINIT_FUNC init_video_reader(void) { -// // No need to do anything. -// return NULL; -// } -// #else -// PyMODINIT_FUNC PyInit_video_reader(void) { -// // No need to do anything. -// return NULL; -// } -// #endif -// #endif - const size_t decoderTimeoutMs = 600000; const AVPixelFormat defaultVideoPixelFormat = AV_PIX_FMT_RGB24; const AVSampleFormat defaultAudioSampleFormat = AV_SAMPLE_FMT_FLT; diff --git a/torchvision/csrc/cpu/video/Video.h b/torchvision/csrc/cpu/video/Video.h index 8060adfcfce..f7d47c0454c 100644 --- a/torchvision/csrc/cpu/video/Video.h +++ b/torchvision/csrc/cpu/video/Video.h @@ -6,7 +6,6 @@ #include #include -#include #include #include diff --git a/torchvision/csrc/cpu/video_reader/VideoReader.cpp b/torchvision/csrc/cpu/video_reader/VideoReader.cpp index e50dc554956..294cdcf9419 100644 --- a/torchvision/csrc/cpu/video_reader/VideoReader.cpp +++ b/torchvision/csrc/cpu/video_reader/VideoReader.cpp @@ -1,6 +1,5 @@ #include "VideoReader.h" #include -#include #include #include #include "memory_buffer.h" @@ -9,22 +8,6 @@ using namespace std; using namespace ffmpeg; -// If we are in a Windows environment, we need to define -// initialization functions for the _custom_ops extension -#ifdef _WIN32 -#if PY_MAJOR_VERSION < 3 -PyMODINIT_FUNC init_video_reader(void) { - // No need to do anything. - return NULL; -} -#else -PyMODINIT_FUNC PyInit_video_reader(void) { - // No need to do anything. - return NULL; -} -#endif -#endif - namespace video_reader { const AVPixelFormat defaultVideoPixelFormat = AV_PIX_FMT_RGB24; diff --git a/torchvision/csrc/empty_tensor_op.h b/torchvision/csrc/empty_tensor_op.h index 64a1c44f600..99448109762 100644 --- a/torchvision/csrc/empty_tensor_op.h +++ b/torchvision/csrc/empty_tensor_op.h @@ -2,8 +2,6 @@ // All pure C++ headers for the C++ frontend. #include -// Python bindings for the C++ frontend (includes Python.h). -#include class NewEmptyTensorOp : public torch::autograd::Function { public: diff --git a/torchvision/csrc/vision.cpp b/torchvision/csrc/vision.cpp index abfd78c5461..d419bb898a3 100644 --- a/torchvision/csrc/vision.cpp +++ b/torchvision/csrc/vision.cpp @@ -1,4 +1,3 @@ -#include #include #ifdef WITH_CUDA @@ -16,24 +15,6 @@ #include "empty_tensor_op.h" #include "nms.h" -// If we are in a Windows environment, we need to define -// initialization functions for the _C extension -#ifdef _WIN32 -#if PY_MAJOR_VERSION < 3 -PyMODINIT_FUNC init_C(void) { - // No need to do anything. - // extension.py will run on load - return NULL; -} -#else -PyMODINIT_FUNC PyInit__C(void) { - // No need to do anything. - // extension.py will run on load - return NULL; -} -#endif -#endif - namespace vision { int64_t cuda_version() noexcept { #ifdef WITH_CUDA From 3734d30bd0f2f6e3bbdac9bf686b41873a4cb2c6 Mon Sep 17 00:00:00 2001 From: Vasilis Vryniotis Date: Mon, 16 Nov 2020 11:49:57 +0000 Subject: [PATCH 2/2] Restoring python3 inits. --- torchvision/csrc/cpu/image/image.cpp | 10 ++++++++++ torchvision/csrc/cpu/video/Video.cpp | 1 - torchvision/csrc/cpu/video_reader/VideoReader.cpp | 10 ++++++++++ torchvision/csrc/vision.cpp | 10 ++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/torchvision/csrc/cpu/image/image.cpp b/torchvision/csrc/cpu/image/image.cpp index 298dd5abd51..d9234aceb6e 100644 --- a/torchvision/csrc/cpu/image/image.cpp +++ b/torchvision/csrc/cpu/image/image.cpp @@ -1,6 +1,16 @@ #include "image.h" #include +#include + +// If we are in a Windows environment, we need to define +// initialization functions for the _custom_ops extension +#ifdef _WIN32 +PyMODINIT_FUNC PyInit_image(void) { + // No need to do anything. + return NULL; +} +#endif static auto registry = torch::RegisterOperators() .op("image::decode_png", &decodePNG) diff --git a/torchvision/csrc/cpu/video/Video.cpp b/torchvision/csrc/cpu/video/Video.cpp index 050e8de15d5..9a995c23e6c 100644 --- a/torchvision/csrc/cpu/video/Video.cpp +++ b/torchvision/csrc/cpu/video/Video.cpp @@ -1,4 +1,3 @@ - #include "Video.h" #include #include diff --git a/torchvision/csrc/cpu/video_reader/VideoReader.cpp b/torchvision/csrc/cpu/video_reader/VideoReader.cpp index 294cdcf9419..7e0f62df1cb 100644 --- a/torchvision/csrc/cpu/video_reader/VideoReader.cpp +++ b/torchvision/csrc/cpu/video_reader/VideoReader.cpp @@ -1,5 +1,6 @@ #include "VideoReader.h" #include +#include #include #include #include "memory_buffer.h" @@ -8,6 +9,15 @@ using namespace std; using namespace ffmpeg; +// If we are in a Windows environment, we need to define +// initialization functions for the _custom_ops extension +#ifdef _WIN32 +PyMODINIT_FUNC PyInit_video_reader(void) { + // No need to do anything. + return NULL; +} +#endif + namespace video_reader { const AVPixelFormat defaultVideoPixelFormat = AV_PIX_FMT_RGB24; diff --git a/torchvision/csrc/vision.cpp b/torchvision/csrc/vision.cpp index d419bb898a3..44c8346ff7b 100644 --- a/torchvision/csrc/vision.cpp +++ b/torchvision/csrc/vision.cpp @@ -1,3 +1,4 @@ +#include #include #ifdef WITH_CUDA @@ -15,6 +16,15 @@ #include "empty_tensor_op.h" #include "nms.h" +// If we are in a Windows environment, we need to define +// initialization functions for the _custom_ops extension +#ifdef _WIN32 +PyMODINIT_FUNC PyInit__C(void) { + // No need to do anything. + return NULL; +} +#endif + namespace vision { int64_t cuda_version() noexcept { #ifdef WITH_CUDA