diff --git a/docker-cpu.df b/docker-cpu.df index e861ffa..dcda40a 100644 --- a/docker-cpu.df +++ b/docker-cpu.df @@ -26,8 +26,9 @@ RUN /opt/conda/bin/python3.5 -m pip install -q -r "requirements.txt" COPY enhance.py . # 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/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 ENTRYPOINT ["/opt/conda/bin/python3.5", "enhance.py", "--device=cpu"] diff --git a/docker-gpu.df b/docker-gpu.df index 512388c..788a4d9 100644 --- a/docker-gpu.df +++ b/docker-gpu.df @@ -24,8 +24,10 @@ RUN /opt/conda/bin/python3.5 -m pip install -q -r "requirements.txt" COPY enhance.py . # 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/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 ENTRYPOINT ["/opt/conda/bin/python3.5", "enhance.py", "--device=gpu"] diff --git a/enhance.py b/enhance.py index 5d704d3..becb851 100755 --- a/enhance.py +++ b/enhance.py @@ -387,7 +387,7 @@ def load_model(self): 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())) 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): if len(params) == 0: return @@ -540,8 +540,8 @@ def match_histograms(self, A, B, rng=(0.0, 255.0), bins=64): (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) 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) - map_Hb = scipy.interpolate.interp1d(Hpb, X, 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, fill_value='extrapolate') return map_Hb(inv_Ha(A).clip(0.0, 255.0)) def process(self, original):