neural-style: init at 0.0pre2016.08.15
This commit is contained in:
parent
f3a86cf599
commit
2a210e3430
57
pkgs/tools/graphics/neural-style/default.nix
Normal file
57
pkgs/tools/graphics/neural-style/default.nix
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
{stdenv, fetchFromGitHub, torch, loadcaffe, fetchurl, bash}:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "neural-style-${version}";
|
||||||
|
version = "0.0pre2016.08.15";
|
||||||
|
buildInputs = [torch loadcaffe];
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "jcjohnson";
|
||||||
|
repo = "neural-style";
|
||||||
|
rev = "ec5ba3a690d3090428d3b92b0c5d686a311bf432";
|
||||||
|
sha256 = "14qzbs9f95izvd0vbbirhymdw9pq2nw0jvhrh7vnyzr99xllwp02";
|
||||||
|
};
|
||||||
|
models = [
|
||||||
|
(fetchurl {
|
||||||
|
url = "https://gist.githubusercontent.com/ksimonyan/3785162f95cd2d5fee77/raw/bb2b4fe0a9bb0669211cf3d0bc949dfdda173e9e/VGG_ILSVRC_19_layers_deploy.prototxt";
|
||||||
|
sha256 = "09cpz7pyvc8sypg2q5j2i8yqwj1sjdbnmd6skl293p9pv13dmjg7";
|
||||||
|
})
|
||||||
|
(fetchurl {
|
||||||
|
url = "https://bethgelab.org/media/uploads/deeptextures/vgg_normalised.caffemodel";
|
||||||
|
sha256 = "11qckdvlck7wwl3pan0nawgxm8l2ccddi272i5l8rs9qzm7b23rf";
|
||||||
|
})
|
||||||
|
(fetchurl {
|
||||||
|
url = "http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_19_layers.caffemodel";
|
||||||
|
sha256 = "0m399x7pl4lnhy435ycsyz8xpzapqmx9n1sz698y2vhcqhkwdd1i";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out"/{bin,lib/lua/neural-style/models,share/doc/neural-style,share/neural-style}
|
||||||
|
for file in $models; do
|
||||||
|
cp "$file" "$out/lib/lua/neural-style/models/$(basename "$file" | sed -e 's/[^-]*-//')"
|
||||||
|
done;
|
||||||
|
cp README* INSTALL* LICEN?E* "$out"/share/doc/neural-style/
|
||||||
|
cp neural_style.lua "$out"/lib/lua/neural-style
|
||||||
|
|
||||||
|
substituteAll "${./neural-style.sh}" "$out/bin/neural-style"
|
||||||
|
chmod a+x "$out/bin/neural-style"
|
||||||
|
cp "$out/bin/neural-style" .
|
||||||
|
cp "$out/lib/lua/neural-style/models/"* models/
|
||||||
|
|
||||||
|
echo "Testing..."
|
||||||
|
|
||||||
|
"$out/bin/neural-style" -style_image examples/inputs/golden_gate.jpg \
|
||||||
|
-content_image examples/inputs/golden_gate.jpg -output_image $PWD/test.png \
|
||||||
|
-gpu -1 -save_iter 1 -print_iter 1 -num_iterations 1 || true
|
||||||
|
|
||||||
|
cp -f "$out/lib/lua/neural-style/models/"* models/
|
||||||
|
|
||||||
|
test -e test.png || exit 1
|
||||||
|
'';
|
||||||
|
inherit torch bash loadcaffe;
|
||||||
|
meta = {
|
||||||
|
inherit version;
|
||||||
|
description = ''A torch implementation of the paper A Neural Algorithm of Artistic Style'';
|
||||||
|
license = stdenv.lib.licenses.mit ;
|
||||||
|
maintainers = [stdenv.lib.maintainers.raskin];
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
25
pkgs/tools/graphics/neural-style/neural-style.sh
Normal file
25
pkgs/tools/graphics/neural-style/neural-style.sh
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#! @bash@/bin/bash
|
||||||
|
|
||||||
|
declare -a args
|
||||||
|
c=1
|
||||||
|
flag=
|
||||||
|
|
||||||
|
for arg in "$@"; do
|
||||||
|
if test "$arg" = "${arg#-}" && test "$arg" = "${arg#/}" && test -n "$flag"; then
|
||||||
|
arg="$PWD/$arg"
|
||||||
|
flag=
|
||||||
|
elif test "$arg" != "${arg%_image}" && test "$arg" != "${arg#-}"; then
|
||||||
|
flag=1
|
||||||
|
else
|
||||||
|
flag=
|
||||||
|
fi
|
||||||
|
args[c]="$arg";
|
||||||
|
c=$((c+1));
|
||||||
|
done
|
||||||
|
|
||||||
|
cd "@out@/lib/lua/neural-style"
|
||||||
|
|
||||||
|
export LUA_PATH="$LUA_PATH${LUA_PATH:+;}@loadcaffe@/lua/?/init.lua;@loadcaffe@/lua/?.lua"
|
||||||
|
export LUA_CPATH="$LUA_CPATH${LUA_CPATH:+;}@loadcaffe@/lib/?.so"
|
||||||
|
|
||||||
|
@torch@/bin/th neural_style.lua "${args[@]}"
|
@ -2701,6 +2701,8 @@ in
|
|||||||
|
|
||||||
netcdffortran = callPackage ../development/libraries/netcdf-fortran { };
|
netcdffortran = callPackage ../development/libraries/netcdf-fortran { };
|
||||||
|
|
||||||
|
neural-style = callPackage ../tools/graphics/neural-style {};
|
||||||
|
|
||||||
nco = callPackage ../development/libraries/nco { };
|
nco = callPackage ../development/libraries/nco { };
|
||||||
|
|
||||||
nc6 = callPackage ../tools/networking/nc6 { };
|
nc6 = callPackage ../tools/networking/nc6 { };
|
||||||
|
Loading…
x
Reference in New Issue
Block a user