mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-09-21 12:38:41 +03:00
Merge pull request #272761 from ConnorBaker/fix/caffe-eval
caffe: fix eval when CUDNN is not available
This commit is contained in:
commit
a94a70789f
@ -26,24 +26,17 @@ let
|
|||||||
# The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1.
|
# The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1.
|
||||||
# However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead.
|
# However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead.
|
||||||
# Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default.
|
# Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default.
|
||||||
cudnn = if lib.versionOlder cudatoolkit.version "10.1"
|
hasCudnn =
|
||||||
then cudaPackages.cudnn
|
if lib.versionOlder cudatoolkit.version "10.1"
|
||||||
else cudaPackages.cudnn_7_6;
|
then cudaPackages ? cudnn
|
||||||
in
|
else cudaPackages ? cudnn_7_6;
|
||||||
|
|
||||||
assert leveldbSupport -> (leveldb != null && snappy != null);
|
|
||||||
assert cudnnSupport -> cudaSupport;
|
|
||||||
assert ncclSupport -> cudaSupport;
|
|
||||||
assert pythonSupport -> (python != null && numpy != null);
|
|
||||||
|
|
||||||
let
|
|
||||||
toggle = bool: if bool then "ON" else "OFF";
|
toggle = bool: if bool then "ON" else "OFF";
|
||||||
|
|
||||||
test_model_weights = fetchurl {
|
test_model_weights = fetchurl {
|
||||||
url = "http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel";
|
url = "http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel";
|
||||||
sha256 = "472d4a06035497b180636d8a82667129960371375bd10fcb6df5c6c7631f25e0";
|
sha256 = "472d4a06035497b180636d8a82667129960371375bd10fcb6df5c6c7631f25e0";
|
||||||
};
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -74,7 +67,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ]
|
buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ]
|
||||||
++ lib.optional cudaSupport cudatoolkit
|
++ lib.optional cudaSupport cudatoolkit
|
||||||
++ lib.optional cudnnSupport cudnn
|
++ lib.optional (lib.versionOlder cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn
|
||||||
|
++ lib.optional (lib.versionAtLeast cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn_7_6
|
||||||
++ lib.optional lmdbSupport lmdb
|
++ lib.optional lmdbSupport lmdb
|
||||||
++ lib.optional ncclSupport nccl
|
++ lib.optional ncclSupport nccl
|
||||||
++ lib.optionals leveldbSupport [ leveldb snappy ]
|
++ lib.optionals leveldbSupport [ leveldb snappy ]
|
||||||
@ -154,7 +148,14 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
homepage = "http://caffe.berkeleyvision.org/";
|
homepage = "http://caffe.berkeleyvision.org/";
|
||||||
maintainers = with maintainers; [ ];
|
maintainers = with maintainers; [ ];
|
||||||
broken = (pythonSupport && (python.isPy310)) || cudaSupport;
|
broken =
|
||||||
|
(pythonSupport && (python.isPy310))
|
||||||
|
|| cudaSupport
|
||||||
|
|| !(leveldbSupport -> (leveldb != null && snappy != null))
|
||||||
|
|| !(cudnnSupport -> (hasCudnn && cudaSupport))
|
||||||
|
|| !(ncclSupport -> cudaSupport)
|
||||||
|
|| !(pythonSupport -> (python != null && numpy != null))
|
||||||
|
;
|
||||||
license = licenses.bsd2;
|
license = licenses.bsd2;
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user