From 37496c4123c7805fe93d89615bb6c94233af81bb Mon Sep 17 00:00:00 2001 From: Elvis Dowson Date: Sat, 9 May 2020 09:52:10 +0400 Subject: [PATCH 1/6] complexnn/__init__.py: Re-enable default fft module support. Signed-off-by: Elvis Dowson --- complexnn/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/complexnn/__init__.py b/complexnn/__init__.py index 00b0217..b85e96f 100644 --- a/complexnn/__init__.py +++ b/complexnn/__init__.py @@ -6,7 +6,7 @@ # # What this module includes by default: from . import bn, conv, dense, init, norm, pool -# from . import fft +from . import fft from .bn import ComplexBatchNormalization as ComplexBN from .conv import ( @@ -17,7 +17,7 @@ WeightNorm_Conv, ) from .dense import ComplexDense -# from .fft import (fft, ifft, fft2, ifft2, FFT, IFFT, FFT2, IFFT2) +from .fft import (fft, ifft, fft2, ifft2, FFT, IFFT, FFT2, IFFT2) from .init import ( ComplexIndependentFilters, IndependentFilters, From e3dde515f07c387aea6ad56712dc6dadfc2b2f57 Mon Sep 17 00:00:00 2001 From: Elvis Dowson Date: Sat, 9 May 2020 09:57:34 +0400 Subject: [PATCH 2/6] scripts/run.py: Python 3: Refactor to use int instead of long type. PEP 237: Essentially, long renamed to int. That is, there is only one built-in integral type, named int; but it behaves mostly like the old long type. Signed-off-by: Elvis Dowson --- scripts/run.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/run.py b/scripts/run.py index a576d5d..91386d9 100644 --- a/scripts/run.py +++ b/scripts/run.py @@ -26,7 +26,7 @@ class MsgFormatter(L.Formatter): def formatTime(self, record, datefmt): t = record.created - timeFrac = abs(t-long(t)) + timeFrac = abs(t-int(t)) timeStruct = time.localtime(record.created) timeString = "" timeString += time.strftime("%F %T", timeStruct) @@ -84,7 +84,7 @@ def addArgs(cls, argp): argp.add_argument("-l", "--loglevel", default="info", type=str, choices=cls.LOGLEVELS.keys(), help="Logging severity level.") - argp.add_argument("-s", "--seed", default=0xe4223644e98b8e64, type=long, + argp.add_argument("-s", "--seed", default=0xe4223644e98b8e64, type=int, help="Seed for PRNGs.") argp.add_argument("--summary", action="store_true", help="""Print a summary of the network.""") From babe21896a361d4cfc9f6cb2d56f69b2f71662f2 Mon Sep 17 00:00:00 2001 From: Elvis Dowson Date: Sat, 9 May 2020 10:02:34 +0400 Subject: [PATCH 3/6] scripts/run.py: argparse: Remove the version argument to ArgumentParser. Signed-off-by: Elvis Dowson --- scripts/run.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/scripts/run.py b/scripts/run.py index 91386d9..4916130 100644 --- a/scripts/run.py +++ b/scripts/run.py @@ -10,10 +10,6 @@ import os, pdb, sys import time -__version__ = "0.0.0" - - - # # Message Formatter # @@ -196,8 +192,7 @@ def getArgParser(prog): argp = Ap.ArgumentParser(prog = prog, usage = None, description = None, - epilog = None, - version = __version__) + epilog = None) subp = argp.add_subparsers() argp.set_defaults(argp=argp) argp.set_defaults(subp=subp) From 8a55b99ec0a3e16c1b79722ab061070f603b2b96 Mon Sep 17 00:00:00 2001 From: Elvis Dowson Date: Sat, 9 May 2020 10:05:55 +0400 Subject: [PATCH 4/6] scripts/run.py: Python 3: Refactor to use dict.values() instead of dict.itervalues(). itervalues() was removed in python3, so you can't use this method anymore. Signed-off-by: Elvis Dowson --- scripts/run.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run.py b/scripts/run.py index 4916130..61ea450 100644 --- a/scripts/run.py +++ b/scripts/run.py @@ -202,7 +202,7 @@ def getArgParser(prog): # Add subcommands - for v in globals().itervalues(): + for v in globals().values(): if(isinstance(v, type) and issubclass(v, Subcommand) and v != Subcommand): From e3826c7732374d69941197239ae31cd985fe96bf Mon Sep 17 00:00:00 2001 From: Elvis Dowson Date: Sat, 9 May 2020 10:07:15 +0400 Subject: [PATCH 5/6] scripts/training.py: Python 3: Refactor to use range() instead of xrange(). Signed-off-by: Elvis Dowson --- scripts/training.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/training.py b/scripts/training.py index 318bf99..fa51e3c 100644 --- a/scripts/training.py +++ b/scripts/training.py @@ -196,7 +196,7 @@ def getResnetModel(d): # Stage 2 # - for i in xrange(n): + for i in range(n): O = getResidualBlock(O, filsize, [sf, sf], 2, str(i), 'regular', convArgs, bnArgs, d) if i == n//2 and d.spectral_pool_scheme == "stagemiddle": O = applySpectralPooling(O, d) @@ -209,7 +209,7 @@ def getResnetModel(d): if d.spectral_pool_scheme == "nodownsample": O = applySpectralPooling(O, d) - for i in xrange(n-1): + for i in range(n-1): O = getResidualBlock(O, filsize, [sf*2, sf*2], 3, str(i+1), 'regular', convArgs, bnArgs, d) if i == n//2 and d.spectral_pool_scheme == "stagemiddle": O = applySpectralPooling(O, d) @@ -222,7 +222,7 @@ def getResnetModel(d): if d.spectral_pool_scheme == "nodownsample": O = applySpectralPooling(O, d) - for i in xrange(n-1): + for i in range(n-1): O = getResidualBlock(O, filsize, [sf*4, sf*4], 4, str(i+1), 'regular', convArgs, bnArgs, d) if i == n//2 and d.spectral_pool_scheme == "stagemiddle": O = applySpectralPooling(O, d) From 861f8b7612fbaf0a1a7ae0c527994add44312ca4 Mon Sep 17 00:00:00 2001 From: Elvis Dowson Date: Sat, 9 May 2020 10:18:58 +0400 Subject: [PATCH 6/6] scripts/training.py: Use keras.backend.image_data_format() to support newer keras version. If you want to support newer Keras, then according to [keras-team/keras#12649](https://github.com/keras-team/keras/issues/12649) the image_dim_ordering method has to be renamed to keras.backend.image_data_format() This is the way to use the new Keras API: setting: K.set_image_dim_ordering('tf') --> K.set_image_data_format('channels_last') K.set_image_dim_ordering('th') --> K.set_image_data_format('channels_first') checking: K.image_dim_ordering() == 'tf' --> K.image_data_format() == 'channels_last' K.image_dim_ordering() == 'th' --> K.image_data_format() == 'channels_first' Signed-off-by: Elvis Dowson --- scripts/training.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/training.py b/scripts/training.py index fa51e3c..99f37aa 100644 --- a/scripts/training.py +++ b/scripts/training.py @@ -150,7 +150,7 @@ def getResnetModel(d): activation = d.act advanced_act = d.aact drop_prob = d.dropout - inputShape = (3, 32, 32) if K.image_dim_ordering() == "th" else (32, 32, 3) + inputShape = (3, 32, 32) if K.image_data_format() == "channels_first" else (32, 32, 3) channelAxis = 1 if K.image_data_format() == 'channels_first' else -1 filsize = (3, 3) convArgs = {