summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO33
-rw-r--r--PKGBUILD85
2 files changed, 67 insertions, 51 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 06a628c75b93..2de0236dc870 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,46 +1,43 @@
pkgbase = python-torchvision
pkgdesc = Datasets, transforms, and models specific to computer vision
- pkgver = 0.8.1
- pkgrel = 3
+ pkgver = 0.13.1
+ pkgrel = 2
url = https://github.com/pytorch/vision
arch = x86_64
license = BSD
- checkdepends = python-mock
- checkdepends = python-pytest
- checkdepends = python-scipy
makedepends = cuda
- makedepends = ffmpeg
+ makedepends = ffmpeg4.4
makedepends = python-av
makedepends = python-pytorch-cuda
makedepends = python-setuptools
makedepends = qt5-base
depends = python-numpy
depends = python-pillow
+ depends = python-requests
depends = python-scipy
- depends = python-six
- depends = python-tqdm
- optdepends = ffmpeg: video reader backend (the recommended one with better performance)
+ optdepends = ffmpeg4.4: video reader backend (the recommended one with better performance)
optdepends = python-av: video reader backend (the default one)
optdepends = python-pycocotools: support for MS-COCO dataset
- source = vision-0.8.1.tar.gz::https://github.com/pytorch/vision/archive/v0.8.1.tar.gz
- sha512sums = c2dc03f631d8e801e3e96595c37963b8e9242d07782c2fd632789b3f2b783fa2f879a816ac2b31f2d9988f008f8368cd164338ba6b86a0a2e4655601c9a9b5b1
+ source = vision-0.13.1.tar.gz::https://github.com/pytorch/vision/archive/v0.13.1.tar.gz
+ source = https://github.com/NVIDIA/DALI/raw/main/dali/operators/reader/loader/video/nvdecode/cuviddec.h
+ source = https://github.com/NVIDIA/DALI/raw/main/dali/operators/reader/loader/video/nvdecode/nvcuvid.h
+ sha512sums = 219e787cd04632f480120d6ff74d092f6804beb9543dbc9fc9be6cc0dd0c7271bb91508a2183c11f2faf6365e73ed16c2501dc6f6e7cb49f61deb6ce44476e70
+ sha512sums = 8f97deedab5b0de1154ce7f8486eadcc7556a9cbb01fb44a988729da80b982daafbfe8da32b7f3ced78c1544b3ac696a569c50a6b4cb244f502b07e615b4de10
+ sha512sums = 89f8d4410a238dc52b27200dfb8db9ff1a58777bdfebb346f3d157e16108930dc3b56f18b611f5de1cb081afa6be6768b52e2486cca57703b490194305dc1c67
pkgname = python-torchvision
depends = python-numpy
depends = python-pillow
+ depends = python-requests
depends = python-scipy
- depends = python-six
- depends = python-tqdm
depends = python-pytorch
pkgname = python-torchvision-cuda
pkgdesc = Datasets, transforms, and models specific to computer vision (with GPU support)
depends = python-numpy
depends = python-pillow
+ depends = python-requests
depends = python-scipy
- depends = python-six
- depends = python-tqdm
depends = python-pytorch-cuda
- provides = python-torchvision=0.8.1
- conflicts = python-torchvision=0.8.1
-
+ provides = python-torchvision=0.13.1
+ conflicts = python-torchvision=0.13.1
diff --git a/PKGBUILD b/PKGBUILD
index 00883bb6512c..ea3f8707022e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,74 +3,91 @@
# Contributor: Jean Lucas <jean@4ray.co>
# Based on python-torchvision-git; original contributors:
# Contributor: Stephen Zhang <zsrkmyn at gmail dot com>
+#
+# NOTE:
+# to build with GPU deocder, we use nvidia-sdk header files from https://github.com/NVIDIA/DALI for convenient
+# you could also use https://aur.archlinux.org/packages/nvidia-sdk
+# just update environment variable `TORCHVISION_INCLUDE` and `TORCHVISION_LIBRARY`
+# see also https://github.com/pytorch/vision/blob/main/torchvision/csrc/io/decoder/gpu/README.rst
+#
-_CUDA_ARCH_LIST="5.2;5.3;6.0;6.1;6.2;7.0;7.0+PTX;7.2;7.2+PTX;7.5;7.5+PTX;8.0;8.0+PTX;8.6;8.6+PTX"
+_CUDA_ARCH_LIST="5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.6+PTX"
pkgname=('python-torchvision' 'python-torchvision-cuda')
_pkgname=vision
-pkgver=0.8.1
-pkgrel=3
+pkgver=0.13.1
+pkgrel=2
pkgdesc='Datasets, transforms, and models specific to computer vision'
arch=('x86_64')
url='https://github.com/pytorch/vision'
license=('BSD')
depends=(
- 'python-numpy'
- 'python-pillow'
- 'python-scipy'
- 'python-six'
- 'python-tqdm'
+ python-numpy
+ python-pillow
+ python-requests
+ python-scipy
)
optdepends=(
- 'ffmpeg: video reader backend (the recommended one with better performance)'
+ 'ffmpeg4.4: video reader backend (the recommended one with better performance)'
'python-av: video reader backend (the default one)'
'python-pycocotools: support for MS-COCO dataset'
)
makedepends=(
- 'cuda'
- 'ffmpeg'
- 'python-av'
- 'python-pytorch-cuda'
- 'python-setuptools'
- 'qt5-base'
+ cuda
+ ffmpeg4.4
+ python-av
+ python-pytorch-cuda
+ python-setuptools
+ qt5-base
)
-checkdepends=(
- 'python-mock'
- 'python-pytest'
- 'python-scipy'
+source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/pytorch/vision/archive/v${pkgver}.tar.gz"
+ "https://github.com/NVIDIA/DALI/raw/main/dali/operators/reader/loader/video/nvdecode/cuviddec.h"
+ "https://github.com/NVIDIA/DALI/raw/main/dali/operators/reader/loader/video/nvdecode/nvcuvid.h"
)
-source=("${_pkgname}-${pkgver}.tar.gz::https://github.com/pytorch/vision/archive/v${pkgver}.tar.gz")
-sha512sums=('c2dc03f631d8e801e3e96595c37963b8e9242d07782c2fd632789b3f2b783fa2f879a816ac2b31f2d9988f008f8368cd164338ba6b86a0a2e4655601c9a9b5b1')
-
-get_pyver() {
- python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
-}
+sha512sums=('219e787cd04632f480120d6ff74d092f6804beb9543dbc9fc9be6cc0dd0c7271bb91508a2183c11f2faf6365e73ed16c2501dc6f6e7cb49f61deb6ce44476e70'
+ '8f97deedab5b0de1154ce7f8486eadcc7556a9cbb01fb44a988729da80b982daafbfe8da32b7f3ced78c1544b3ac696a569c50a6b4cb244f502b07e615b4de10'
+ '89f8d4410a238dc52b27200dfb8db9ff1a58777bdfebb346f3d157e16108930dc3b56f18b611f5de1cb081afa6be6768b52e2486cca57703b490194305dc1c67')
prepare() {
+ # fix building with ffmpeg4.4 by manually setup include and lib dir
+ # and remove other codes to find ffmpeg exe, as ffmpeg4.4 are only headers and libs without ffmpeg cmd
+ sed -i '351,358d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
+ sed -i 's#ffmpeg_include_dir = os.path.join(ffmpeg_root, "include")#ffmpeg_include_dir = "/usr/include/ffmpeg4.4"#' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
+ sed -i 's#ffmpeg_library_dir = os.path.join(ffmpeg_root, "lib")#ffmpeg_library_dir = "/usr/lib/ffmpeg4.4"#' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
+ sed -i 's#has_ffmpeg = ffmpeg_exe is not None#has_ffmpeg = True#' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
+ sed -i '/ffmpeg_exe/d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
+ sed -i '/ffmpeg_bin/d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
+ sed -i '/ffmpeg_root/d' "${srcdir}/${_pkgname}-${pkgver}/setup.py"
cp -a "${srcdir}/${_pkgname}-${pkgver}" "${srcdir}/${_pkgname}-cuda-${pkgver}"
}
build() {
- cd "${srcdir}/${_pkgname}-${pkgver}"
+ cd "${_pkgname}-${pkgver}"
python setup.py build
-
cd "${srcdir}/${_pkgname}-cuda-${pkgver}"
+ TORCHVISION_INCLUDE=${srcdir} \
+ TORCHVISION_LIBRARY=/usr/lib \
FORCE_CUDA=1 \
TORCH_CUDA_ARCH_LIST=${_CUDA_ARCH_LIST} \
python setup.py build
}
check() {
+ local python_version=$(python -c 'import sys; print("".join(map(str, sys.version_info[:2])))')
+ # check if VideoReader is build
+ # VideoReader depends on ffmpeg
cd "${srcdir}/${_pkgname}-${pkgver}"
- PYTHONPATH="${PWD}/build/lib.linux-${CARCH}-$(get_pyver)" pytest -v
-
+ PYTHONPATH="${PWD}/build/lib.linux-${CARCH}-cpython-${python_version}" \
+ python -c "from torchvision.io import VideoReader"
+
cd "${srcdir}/${_pkgname}-cuda-${pkgver}"
- PYTHONPATH="${PWD}/build/lib.linux-${CARCH}-$(get_pyver)" pytest -v
+ PYTHONPATH="${PWD}/build/lib.linux-${CARCH}-cpython-${python_version}" \
+ python -c "from torchvision.io import VideoReader"
}
package_python-torchvision() {
depends+=(python-pytorch)
- cd "${srcdir}/${_pkgname}-${pkgver}"
+ cd "${_pkgname}-${pkgver}"
python setup.py install --root="${pkgdir}" --optimize=1 --skip-build
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -80,8 +97,10 @@ package_python-torchvision-cuda() {
depends+=(python-pytorch-cuda)
provides+=(python-torchvision=${pkgver})
conflicts+=(python-torchvision=${pkgver})
-
- cd "${srcdir}/${_pkgname}-cuda-${pkgver}"
+
+ cd "${_pkgname}-cuda-${pkgver}"
+ TORCHVISION_INCLUDE=${srcdir} \
+ TORCHVISION_LIBRARY=/usr/lib \
FORCE_CUDA=1 \
TORCH_CUDA_ARCH_LIST=${_CUDA_ARCH_LIST} \
python setup.py install --root="${pkgdir}" --optimize=1 --skip-build