1. 01 Apr, 2020 1 commit
  2. 30 Mar, 2020 2 commits
    • Yuwen Xiong's avatar
      Fix shape error for deform conv (#2027) · 7ee5a8b7
      Yuwen Xiong authored
      * fix shape error for deform conv gpu op
      
      recover shape of columns for next iteration in for loops, previous version will cause error when batch_sz / n_parallel_imgs > 1
      
      * fix shape error for deform conv cpu op
      
      recover shape of columns for next iteration in for loops, previous version will cause error when batch_sz / n_parallel_imgs > 1
      7ee5a8b7
    • Mikhail Lobanov's avatar
      Fix Tensor::data<> deprecation. (#2028) · 561a014b
      Mikhail Lobanov authored
      561a014b
  3. 24 Mar, 2020 1 commit
  4. 17 Mar, 2020 1 commit
    • Francisco Massa's avatar
      Update video reader to use new decoder (#1978) · 32e16805
      Francisco Massa authored
      * Base decoder for video. (#1747)
      
      Summary:
      Pull Request resolved: https://github.com/pytorch/vision/pull/1747
      
      Pull Request resolved: https://github.com/pytorch/vision/pull/1746
      
      Added the implementation of ffmpeg based decoder with functionality that can be used in VUE and TorchVision.
      
      Reviewed By: fmassa
      
      Differential Revision: D19358914
      
      fbshipit-source-id: abb672f89bfaca6351dda2354f0d35cf8e47fa0f
      
      * Integrated base decoder into VideoReader class and video_utils.py (#1766)
      
      Summary:
      Pull Request resolved: https://github.com/pytorch/vision/pull/1766
      
      Replaced FfmpegDecoder (incompativle with VUE) by base decoder (compatible with VUE).
      Modified python utilities video_utils.py for internal simplification. Public interface got preserved.
      
      Reviewed By: fmassa
      
      Differential Revision: D19415903
      
      fbshipit-source-id: 4d7a0158bd77bac0a18732fe4183fdd9a57f6402
      
      * Optimizating base decoder performance. (#1852)
      
      Summary:
      Pull Request resolved: https://github.com/pytorch/vision/pull/1852
      
      Changed base decoder internals for a faster clip processing.
      
      Reviewed By: stephenyan1231
      
      Differential Revision: D19748379
      
      fbshipit-source-id: 58a435f0a0b25545e7bd1a3edb0b1d558176a806
      
      * Minor fix and decoder class members access.
      
      Summary:
      Found and fix a bug in cropping algorithm (simple mistyping).
      Also derived classes need access to some decoder class members, like initialization parameters - make it protected.
      
      Reviewed By: stephenyan1231, fmassa
      
      Differential Revision: D19895076
      
      fbshipit-source-id: 691336c8e18526b085ae5792ac3546bc387a6db9
      
      * Added missing header for less dependencies. (#1898)
      
      Summary:
      Pull Request resolved: https://github.com/pytorch/vision/pull/1898
      
      Include streams/samplers shouldn't depend on decoder headers. Add dependencies directly to the place where they are required.
      
      Reviewed By: stephenyan1231
      
      Differential Revision: D19911404
      
      fbshipit-source-id: ef322a053708405c02cee4562b456b1602fb12fc
      
      * Implemented VUE Asynchronous Decoder
      
      Summary: For Mothership we have found that asynchronous decoder provides a better performance.
      
      Differential Revision: D20026194
      
      fbshipit-source-id: 627b91844b4e3f917002031dd32cb19c239f4ba8
      
      * fix a bug in API read_video_from_memory (#1942)
      
      Summary:
      Pull Request resolved: https://github.com/pytorch/vision/pull/1942
      
      In D18720474, it introduces a bug in `read_video_from_memory` API. Thank weiyaowang for reporting it.
      
      Reviewed By: weiyaowang
      
      Differential Revision: D20270179
      
      fbshipit-source-id: 66348c99a5ad1f9129b90e934524ddfaad59de03
      
      * extend decoder to support new video_max_dimension argument (#1924)
      
      Summary:
      Pull Request resolved: https://github.com/pytorch/vision/pull/1924
      
      Extend `video reader` decoder python API in Torchvision to support a new argument `video_max_dimension`. This enables the new video decoding use cases. When setting `video_width=0`, `video_height=0`, `video_min_dimension != 0`, and `video_max_dimension != 0`, we can rescale the video clips so that its spatial resolution (height, width) becomes
       - (video_min_dimension, video_max_dimension) if original height < original width
       - (video_max_dimension, video_min_dimension) if original height >= original width
      
      This is useful at video model testing stage, where we perform fully convolution evaluation and take entire video frames without cropping as input. Previously, for instance we can only set `video_width=0`, `video_height=0`, `video_min_dimension = 128`, which will preserve aspect ratio. In production dataset, there are a small number of videos where aspect ratio is either extremely large or small, and when the shorter edge is rescaled to 128, the longer edge is still large. This will easily cause GPU memory OOM when we sample multiple video clips, and put them in a single minibatch.
      
      Now, we can set (for instance) `video_width=0`, `video_height=0`, `video_min_dimension = 128` and `video_max_dimension = 171` so that the rescale resolution is either (128, 171) or (171, 128) depending on whether original height is larger than original width. Thus, we are less likely to have gpu OOM because the spatial size of video clips is determined.
      
      Reviewed By: putivsky
      
      Differential Revision: D20182529
      
      fbshipit-source-id: f9c40afb7590e7c45e6908946597141efa35f57c
      
      * Fixing samplers initialization (#1967)
      
      Summary:
      Pull Request resolved: https://github.com/pytorch/vision/pull/1967
      
      
      
      No-ops for torchvision diff, which fixes samplers.
      
      Differential Revision: D20397218
      
      fbshipit-source-id: 6dc4d04364f305fbda7ca4f67a25ceecd73d0f20
      
      * Exclude C++ test files
      Co-authored-by: default avatarYuri Putivsky <yuri@fb.com>
      Co-authored-by: default avatarZhicheng Yan <zyan3@fb.com>
      32e16805
  5. 12 Mar, 2020 1 commit
  6. 11 Mar, 2020 1 commit
    • Ashish Farmer's avatar
      [ROCm] Create torchvision as a HIP Extension (#1928) · 43e94b39
      Ashish Farmer authored
      * Added code to support creating extension on ROCm
      
      * max -> fmaxf conversion for hipification
      
      * added WITH_HIP flag for hipExtension
      
      * added appropriate headers for HIP build
      
      * use USE_ROCM in condition to build
      
      * change fmaxf and fminf calls
      
      * fminf -> min
      
      * fix the check for ROCM_HOME
      
      * more robust checking for rocm pytorch
      
      * add check for pytorch version before using HIP extensions
      
      * conditional reading of ROCM_HOME
      43e94b39
  7. 04 Mar, 2020 2 commits
  8. 29 Jan, 2020 1 commit
  9. 27 Jan, 2020 1 commit
  10. 22 Jan, 2020 1 commit
  11. 02 Jan, 2020 1 commit
  12. 16 Dec, 2019 1 commit
  13. 06 Dec, 2019 1 commit
  14. 04 Dec, 2019 1 commit
    • pedrofreire's avatar
      Add Deformable Convolution operation. (#1586) · 52b8685b
      pedrofreire authored
      * Add Deformable Convolution operation.
      
      This adds the deformable convolution operation, as described in Deformable Convolutional Networks (https://arxiv.org/abs/1703.06211).
      
      - The code is based on https://github.com/open-mmlab/mmdetection/blob/master/mmdet/ops/dcn/src/deform_conv_cuda.cpp ; the whole code was modified and refactored to remove redundancies and increase clarity, and to adapt it to torchvision.
      
      - The CPU part is a direct copy of the CUDA code; it might make sense to do follow-up adjustments in the CPU code to simplify it / optimize it, or to reuse functionality between CPU and CUDA..
      
      - We also add tests (with a non-trivial set of parameters); they can be made more robust by randomizing the parameters and executing multiple times.
      
      * Update DeformConv to be more consistent w/ Conv2d
      
      * rename some variables and arguments to match Conv2d;
      * add optional bias;
      * add weight, offset and bias as module parameters;
      * remove the n_parallel_imgs parameter;
      * Fix __repr__;
      * etc..
      
      Initialization of weight and bias is the same as in Conv2d, and
      initialization of offsets to zero is the same as in the paper.
      
      This also includes some other small unrelated fixes/improvements.
      
      * Apply clang-format in DeformConv files.
      
      * Import Optional type annotation
      
      * Remove offset param from DeformConv2d module
      
      - We pass the offset in the forward of DeformConv2d, instead of having
      an internal parameter. This adds some complexity to creating the module
      (e.g. now you have to worry about the output size, to create the
      offset), but it gives more flexibility.
      - We also use make_tuple for tuple creation, in an attempt to fix error
      w/ older compilers.
      
      * Replace abs by std::abs
      
      Old gcc versions were giving wrong results here, because they would
      resolve abs as int -> int, thus causing undesired truncation. Replacing
      abs by std::abs should allow for correct overloading of abs as float -> float.
      
      * Reorder declarations for clarity
      
      * Reorder weight and offset args in deform_conv2d
      
      We place offset arg before the weight arg, to be more
      consistent with DeformConv2d.forward(input, offset)
      
      * Replace abs by std::abs in DeformConv_cuda
      52b8685b
  15. 25 Nov, 2019 1 commit
    • eellison's avatar
      Make maskrcnn scriptable (#1407) · d88d8961
      eellison authored
      * almost working...
      
      * respond to comments
      
      * add empty tensor op, handle different output types in generalized rcnn
      
      * clean ups
      
      * address comments
      
      * more changes
      
      * it's working!
      
      * torchscript bugs
      
      * add script/ eager test
      
      * eval script model
      
      * fix flake
      
      * division import
      
      * py2 compat
      
      * update test, fix arange bug
      
      * import division statement
      
      * fix linter
      
      * fixes
      
      * changes needed for JIT master
      
      * cleanups
      
      * remove imagelist_to
      
      * requested changes
      
      * Make FPN backwards-compatible and torchscript compatible
      
      We remove support for feature channels=0, but support for it was already a bit limited
      
      * Fix ONNX regression
      d88d8961
  16. 15 Nov, 2019 1 commit
  17. 14 Nov, 2019 1 commit
  18. 05 Nov, 2019 1 commit
  19. 17 Oct, 2019 1 commit
  20. 16 Oct, 2019 1 commit
  21. 12 Oct, 2019 1 commit
  22. 08 Oct, 2019 1 commit
  23. 02 Oct, 2019 1 commit
    • Will Feng's avatar
      Change all torch::nn::init::Nonlinearity::{name} and... · 8c3cea7f
      Will Feng authored
      Change all torch::nn::init::Nonlinearity::{name} and torch::nn::init::FanMode::{name} to torch::k{name} (#1394)
      
      * Change all torch::nn::init::Nonlinearity::{name} and torch::nn::init::FanMode::{name} to torch::k{name}
      
      * empty commit
      
      * fix lint
      
      * fix lint
      
      * fix lint
      8c3cea7f
  24. 30 Sep, 2019 2 commits
  25. 20 Sep, 2019 1 commit
    • Zhicheng Yan's avatar
      [video reader] inception commit (#1303) · 31fad34f
      Zhicheng Yan authored
      * [video reader] inception commit
      
      * add method save_metadata to class VideoClips in video_utils.py
      
      * add load_metadata() method to VideoClips class
      
      * add Exception to not catch unexpected events such as memory erros, interrupt
      
      * fix bugs in video_plus.py
      
      * [video reader]remove logging. update setup.py
      
      * remove time measurement in test_video_reader.py
      
      * Remove glog and try making ffmpeg finding more robust
      
      * Add ffmpeg to conda build
      
      * Add ffmpeg to conda build [again]
      
      * Make library path finding more robust
      
      * Missing import
      
      * One more missing fix for import
      
      * Py2 compatibility and change package to av to avoid version conflict with ffmpeg
      
      * Fix for python2
      
      * [video reader] support to decode one stream only (e.g. video/audio stream)
      
      * remove argument _precomputed_metadata_filepath
      
      * remove save_metadata method
      
      * add get_metadata method
      
      * expose _precomputed_metadata and frame_rate arguments in video dataset __init__ method
      
      * remove ssize_t
      
      * remove size_t to pass CI check on Windows
      
      * add PyInit__video_reader function to pass CI check on Windows
      
      * minor fix to define PyInit_video_reader symbol
      
      * Make c++ video reader optional
      
      * Temporarily revert changes to test_io
      
      * Revert changes to python files
      
      * Rename files to make it private
      
      * Fix python lint
      
      * Fix C++ lint
      
      * add a functor object EnumClassHash to make Enum class instances usable as key type of std::unordered_map
      
      * fix cpp format check
      31fad34f
  26. 18 Sep, 2019 1 commit
    • Francisco Massa's avatar
      Remove cpp extensions in favor of torch ops (#1348) · f677ea31
      Francisco Massa authored
      * Remove C++ extensions in favor of custom ops
      
      * Remove unused custom_ops.cpp file
      
      * Rename _custom_ops.py
      
      * Reorganize functions
      
      * Minor improvements and fixes
      
      * Fix lint
      
      * Fully scriptable ops
      
      * Import types used by annotations
      f677ea31
  27. 10 Sep, 2019 2 commits
    • Thomas Viehmann's avatar
      Make custom ops differentiable (#1314) · a91fe722
      Thomas Viehmann authored
      * Make custom ops differentiable
      
      and replace autograd.Function. Use ops unconditionally.
      
      We may consider removing the extension functions in a follow-up.
      
      The code-path is tested by the exisitng tests for differentiability.
      
      * add scripting gradchecks tests and use intlist
      
      * fix implicit tuple conversion for gcc-5
      
      * fix merge
      a91fe722
    • Lara Haidar's avatar
      Fix Windows build in Torchvision Custom op Registration (#1320) · 7f7e7663
      Lara Haidar authored
      * Revert "Revert "Register Torchvision Ops as Cutom Ops (#1267)" (#1316)"
      
      This reverts commit fe234fc8.
      
      * Make import of C++ extensions lazy
      
      * define python initialization functions for extension
      
      * Fix lint
      7f7e7663
  28. 09 Sep, 2019 2 commits
  29. 30 Aug, 2019 1 commit
  30. 29 Aug, 2019 1 commit
  31. 23 Jul, 2019 2 commits
  32. 15 Jul, 2019 1 commit
  33. 12 Jul, 2019 1 commit
  34. 11 Jul, 2019 1 commit