Compare commits
10
Commits
904071d993
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71b0dba9f3 | ||
|
|
2fd67de7ed | ||
|
|
5248437d06 | ||
|
|
d1ab2b1fa3 | ||
|
|
14e1734a56 | ||
|
|
b3a9ba58c7 | ||
|
|
8e60e74978 | ||
|
|
4ee13f5ac5 | ||
|
|
559e66bbb2 | ||
|
|
9d2aa3c436 |
+2
-1
@@ -26,8 +26,9 @@ RUN /opt/conda/bin/python3.5 -m pip install -q -r "requirements.txt"
|
|||||||
COPY enhance.py .
|
COPY enhance.py .
|
||||||
|
|
||||||
# Get a pre-trained neural networks, non-commercial & attribution.
|
# Get a pre-trained neural networks, non-commercial & attribution.
|
||||||
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne1x-photo-deblur-0.3.pkl.bz2"
|
||||||
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne1x-photo-repair-0.3.pkl.bz2"
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne1x-photo-repair-0.3.pkl.bz2"
|
||||||
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne2x-photo-default-0.3.pkl.bz2"
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne2x-photo-default-0.3.pkl.bz2"
|
||||||
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne4x-photo-default-0.3.pkl.bz2"
|
||||||
# Set an entrypoint to the main enhance.py script
|
# Set an entrypoint to the main enhance.py script
|
||||||
ENTRYPOINT ["/opt/conda/bin/python3.5", "enhance.py", "--device=cpu"]
|
ENTRYPOINT ["/opt/conda/bin/python3.5", "enhance.py", "--device=cpu"]
|
||||||
|
|||||||
@@ -24,8 +24,10 @@ RUN /opt/conda/bin/python3.5 -m pip install -q -r "requirements.txt"
|
|||||||
COPY enhance.py .
|
COPY enhance.py .
|
||||||
|
|
||||||
# Get a pre-trained neural networks, non-commercial & attribution.
|
# Get a pre-trained neural networks, non-commercial & attribution.
|
||||||
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne1x-photo-deblur-0.3.pkl.bz2"
|
||||||
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne1x-photo-repair-0.3.pkl.bz2"
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne1x-photo-repair-0.3.pkl.bz2"
|
||||||
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne2x-photo-default-0.3.pkl.bz2"
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne2x-photo-default-0.3.pkl.bz2"
|
||||||
|
RUN wget -q "https://github.com/alexjc/neural-enhance/releases/download/v0.3/ne4x-photo-default-0.3.pkl.bz2"
|
||||||
|
|
||||||
# Set an entrypoint to the main enhance.py script
|
# Set an entrypoint to the main enhance.py script
|
||||||
ENTRYPOINT ["/opt/conda/bin/python3.5", "enhance.py", "--device=gpu"]
|
ENTRYPOINT ["/opt/conda/bin/python3.5", "enhance.py", "--device=gpu"]
|
||||||
|
|||||||
+6
-5
@@ -182,7 +182,7 @@ class DataLoader(threading.Thread):
|
|||||||
seed = seed.resize((orig.size[0]//args.zoom, orig.size[1]//args.zoom), resample=PIL.Image.LANCZOS)
|
seed = seed.resize((orig.size[0]//args.zoom, orig.size[1]//args.zoom), resample=PIL.Image.LANCZOS)
|
||||||
if len(args.train_jpeg) > 0:
|
if len(args.train_jpeg) > 0:
|
||||||
buffer, rng = io.BytesIO(), args.train_jpeg[-1] if len(args.train_jpeg) > 1 else 15
|
buffer, rng = io.BytesIO(), args.train_jpeg[-1] if len(args.train_jpeg) > 1 else 15
|
||||||
seed.save(buffer, format='jpeg', quality=args.train_jpeg+random.randrange(-rng, +rng))
|
seed.save(buffer, format='jpeg', quality=args.train_jpeg[0]+random.randrange(-rng, +rng))
|
||||||
seed = PIL.Image.open(buffer)
|
seed = PIL.Image.open(buffer)
|
||||||
|
|
||||||
orig = scipy.misc.fromimage(orig).astype(np.float32)
|
orig = scipy.misc.fromimage(orig).astype(np.float32)
|
||||||
@@ -384,10 +384,11 @@ class Model(object):
|
|||||||
def load_model(self):
|
def load_model(self):
|
||||||
if not os.path.exists(self.get_filename(absolute=True)):
|
if not os.path.exists(self.get_filename(absolute=True)):
|
||||||
if args.train: return {}, {}
|
if args.train: return {}, {}
|
||||||
|
print(self.get_filename())
|
||||||
error("Model file with pre-trained convolution layers not found. Download it here...",
|
error("Model file with pre-trained convolution layers not found. Download it here...",
|
||||||
"https://github.com/alexjc/neural-enhance/releases/download/v%s/%s"%(__version__, self.get_filename()))
|
"https://github.com/alexjc/neural-enhance/releases/download/v%s/%s"%(__version__, self.get_filename()))
|
||||||
print(' - Loaded file `{}` with trained model.'.format(self.get_filename()))
|
print(' - Loaded file `{}` with trained model.'.format(self.get_filename()))
|
||||||
return pickle.load(bz2.open(self.get_filename(), 'rb'))
|
return pickle.load(bz2.open(self.get_filename(absolute=True), 'rb'))
|
||||||
|
|
||||||
def load_generator(self, params):
|
def load_generator(self, params):
|
||||||
if len(params) == 0: return
|
if len(params) == 0: return
|
||||||
@@ -540,9 +541,9 @@ class NeuralEnhancer(object):
|
|||||||
(Ha, Xa), (Hb, Xb) = [np.histogram(i, bins=bins, range=rng, density=True) for i in [A, B]]
|
(Ha, Xa), (Hb, Xb) = [np.histogram(i, bins=bins, range=rng, density=True) for i in [A, B]]
|
||||||
X = np.linspace(rng[0], rng[1], bins, endpoint=True)
|
X = np.linspace(rng[0], rng[1], bins, endpoint=True)
|
||||||
Hpa, Hpb = [np.cumsum(i) * (rng[1] - rng[0]) ** 2 / float(bins) for i in [Ha, Hb]]
|
Hpa, Hpb = [np.cumsum(i) * (rng[1] - rng[0]) ** 2 / float(bins) for i in [Ha, Hb]]
|
||||||
inv_Ha = scipy.interpolate.interp1d(X, Hpa, bounds_error=False)
|
inv_Ha = scipy.interpolate.interp1d(X, Hpa, bounds_error=False, fill_value='extrapolate')
|
||||||
map_Hb = scipy.interpolate.interp1d(Hpb, X, bounds_error=False)
|
map_Hb = scipy.interpolate.interp1d(Hpb, X, bounds_error=False, fill_value='extrapolate')
|
||||||
return map_Hb(inv_Ha(A))
|
return map_Hb(inv_Ha(A).clip(0.0, 255.0))
|
||||||
|
|
||||||
def process(self, original):
|
def process(self, original):
|
||||||
# Snap the image to a shape that's compatible with the generator (2x, 4x)
|
# Snap the image to a shape that's compatible with the generator (2x, 4x)
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 29 KiB |
Submodule
+1
Submodule libgpuarray added at 9cec61435c
@@ -0,0 +1,51 @@
|
|||||||
|
function global:deactivate ([switch]$NonDestructive) {
|
||||||
|
# Revert to original values
|
||||||
|
if (Test-Path function:_OLD_VIRTUAL_PROMPT) {
|
||||||
|
copy-item function:_OLD_VIRTUAL_PROMPT function:prompt
|
||||||
|
remove-item function:_OLD_VIRTUAL_PROMPT
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path env:_OLD_VIRTUAL_PYTHONHOME) {
|
||||||
|
copy-item env:_OLD_VIRTUAL_PYTHONHOME env:PYTHONHOME
|
||||||
|
remove-item env:_OLD_VIRTUAL_PYTHONHOME
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path env:_OLD_VIRTUAL_PATH) {
|
||||||
|
copy-item env:_OLD_VIRTUAL_PATH env:PATH
|
||||||
|
remove-item env:_OLD_VIRTUAL_PATH
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Test-Path env:VIRTUAL_ENV) {
|
||||||
|
remove-item env:VIRTUAL_ENV
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$NonDestructive) {
|
||||||
|
# Self destruct!
|
||||||
|
remove-item function:deactivate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
deactivate -nondestructive
|
||||||
|
|
||||||
|
$env:VIRTUAL_ENV="D:\Programming\Workspace\Neural enhance\neural-enhance\pyvenv"
|
||||||
|
|
||||||
|
if (! $env:VIRTUAL_ENV_DISABLE_PROMPT) {
|
||||||
|
# Set the prompt to include the env name
|
||||||
|
# Make sure _OLD_VIRTUAL_PROMPT is global
|
||||||
|
function global:_OLD_VIRTUAL_PROMPT {""}
|
||||||
|
copy-item function:prompt function:_OLD_VIRTUAL_PROMPT
|
||||||
|
function global:prompt {
|
||||||
|
Write-Host -NoNewline -ForegroundColor Green '(pyvenv) '
|
||||||
|
_OLD_VIRTUAL_PROMPT
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Clear PYTHONHOME
|
||||||
|
if (Test-Path env:PYTHONHOME) {
|
||||||
|
copy-item env:PYTHONHOME env:_OLD_VIRTUAL_PYTHONHOME
|
||||||
|
remove-item env:PYTHONHOME
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add the venv to the PATH
|
||||||
|
copy-item env:PATH env:_OLD_VIRTUAL_PATH
|
||||||
|
$env:PATH = "$env:VIRTUAL_ENV\Scripts;$env:PATH"
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
# This file must be used with "source bin/activate" *from bash*
|
||||||
|
# you cannot run it directly
|
||||||
|
|
||||||
|
deactivate () {
|
||||||
|
# reset old environment variables
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PATH:-}" ] ; then
|
||||||
|
PATH="${_OLD_VIRTUAL_PATH:-}"
|
||||||
|
export PATH
|
||||||
|
unset _OLD_VIRTUAL_PATH
|
||||||
|
fi
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PYTHONHOME:-}" ] ; then
|
||||||
|
PYTHONHOME="${_OLD_VIRTUAL_PYTHONHOME:-}"
|
||||||
|
export PYTHONHOME
|
||||||
|
unset _OLD_VIRTUAL_PYTHONHOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This should detect bash and zsh, which have a hash command that must
|
||||||
|
# be called to get it to forget past commands. Without forgetting
|
||||||
|
# past commands the $PATH changes we made may not be respected
|
||||||
|
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||||
|
hash -r
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${_OLD_VIRTUAL_PS1:-}" ] ; then
|
||||||
|
PS1="${_OLD_VIRTUAL_PS1:-}"
|
||||||
|
export PS1
|
||||||
|
unset _OLD_VIRTUAL_PS1
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset VIRTUAL_ENV
|
||||||
|
if [ ! "$1" = "nondestructive" ] ; then
|
||||||
|
# Self destruct!
|
||||||
|
unset -f deactivate
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# unset irrelevant variables
|
||||||
|
deactivate nondestructive
|
||||||
|
|
||||||
|
VIRTUAL_ENV="D:\Programming\Workspace\Neural enhance\neural-enhance\pyvenv"
|
||||||
|
export VIRTUAL_ENV
|
||||||
|
|
||||||
|
_OLD_VIRTUAL_PATH="$PATH"
|
||||||
|
PATH="$VIRTUAL_ENV/Scripts:$PATH"
|
||||||
|
export PATH
|
||||||
|
|
||||||
|
# unset PYTHONHOME if set
|
||||||
|
# this will fail if PYTHONHOME is set to the empty string (which is bad anyway)
|
||||||
|
# could use `if (set -u; : $PYTHONHOME) ;` in bash
|
||||||
|
if [ -n "${PYTHONHOME:-}" ] ; then
|
||||||
|
_OLD_VIRTUAL_PYTHONHOME="${PYTHONHOME:-}"
|
||||||
|
unset PYTHONHOME
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT:-}" ] ; then
|
||||||
|
_OLD_VIRTUAL_PS1="${PS1:-}"
|
||||||
|
if [ "x(pyvenv) " != x ] ; then
|
||||||
|
PS1="(pyvenv) ${PS1:-}"
|
||||||
|
else
|
||||||
|
if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
|
||||||
|
# special case for Aspen magic directories
|
||||||
|
# see http://www.zetadev.com/software/aspen/
|
||||||
|
PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
|
||||||
|
else
|
||||||
|
PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
export PS1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# This should detect bash and zsh, which have a hash command that must
|
||||||
|
# be called to get it to forget past commands. Without forgetting
|
||||||
|
# past commands the $PATH changes we made may not be respected
|
||||||
|
if [ -n "${BASH:-}" -o -n "${ZSH_VERSION:-}" ] ; then
|
||||||
|
hash -r
|
||||||
|
fi
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
rem This file is UTF-8 encoded, so we need to update the current code page while executing it
|
||||||
|
for /f "tokens=2 delims=:" %%a in ('"%SystemRoot%\System32\chcp.com"') do (
|
||||||
|
set "_OLD_CODEPAGE=%%a"
|
||||||
|
)
|
||||||
|
if defined _OLD_CODEPAGE (
|
||||||
|
"%SystemRoot%\System32\chcp.com" 65001 > nul
|
||||||
|
)
|
||||||
|
|
||||||
|
set "VIRTUAL_ENV=D:\Programming\Workspace\Neural enhance\neural-enhance\pyvenv"
|
||||||
|
|
||||||
|
if not defined PROMPT (
|
||||||
|
set "PROMPT=$P$G"
|
||||||
|
)
|
||||||
|
|
||||||
|
if defined _OLD_VIRTUAL_PROMPT (
|
||||||
|
set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
|
||||||
|
)
|
||||||
|
|
||||||
|
if defined _OLD_VIRTUAL_PYTHONHOME (
|
||||||
|
set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
|
||||||
|
)
|
||||||
|
|
||||||
|
set "_OLD_VIRTUAL_PROMPT=%PROMPT%"
|
||||||
|
set "PROMPT=(pyvenv) %PROMPT%"
|
||||||
|
|
||||||
|
if defined PYTHONHOME (
|
||||||
|
set "_OLD_VIRTUAL_PYTHONHOME=%PYTHONHOME%"
|
||||||
|
set PYTHONHOME=
|
||||||
|
)
|
||||||
|
|
||||||
|
if defined _OLD_VIRTUAL_PATH (
|
||||||
|
set "PATH=%_OLD_VIRTUAL_PATH%"
|
||||||
|
) else (
|
||||||
|
set "_OLD_VIRTUAL_PATH=%PATH%"
|
||||||
|
)
|
||||||
|
|
||||||
|
set "PATH=%VIRTUAL_ENV%\Scripts;%PATH%"
|
||||||
|
|
||||||
|
:END
|
||||||
|
if defined _OLD_CODEPAGE (
|
||||||
|
"%SystemRoot%\System32\chcp.com" %_OLD_CODEPAGE% > nul
|
||||||
|
set "_OLD_CODEPAGE="
|
||||||
|
)
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
if defined _OLD_VIRTUAL_PROMPT (
|
||||||
|
set "PROMPT=%_OLD_VIRTUAL_PROMPT%"
|
||||||
|
)
|
||||||
|
set _OLD_VIRTUAL_PROMPT=
|
||||||
|
|
||||||
|
if defined _OLD_VIRTUAL_PYTHONHOME (
|
||||||
|
set "PYTHONHOME=%_OLD_VIRTUAL_PYTHONHOME%"
|
||||||
|
set _OLD_VIRTUAL_PYTHONHOME=
|
||||||
|
)
|
||||||
|
|
||||||
|
if defined _OLD_VIRTUAL_PATH (
|
||||||
|
set "PATH=%_OLD_VIRTUAL_PATH%"
|
||||||
|
)
|
||||||
|
|
||||||
|
set _OLD_VIRTUAL_PATH=
|
||||||
|
|
||||||
|
set VIRTUAL_ENV=
|
||||||
|
|
||||||
|
:END
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
|||||||
|
home = C:\Python37
|
||||||
|
include-system-site-packages = true
|
||||||
|
version = 3.7.2
|
||||||
Reference in New Issue
Block a user