提交 a5391d95 authored 作者: Olivier Breuleux's avatar Olivier Breuleux

fixed autotests for the new module hierarchy

上级 a3c57764
...@@ -47,9 +47,13 @@ if __name__ == '__main__': ...@@ -47,9 +47,13 @@ if __name__ == '__main__':
elif len(sys.argv)>2: elif len(sys.argv)>2:
printUsage() printUsage()
try: if len(sys.argv) >= 2:
os.system('cd gof; %s autotest.py %s' % (sys.argv[1],debugparam)) cmd = sys.argv[1]
except IndexError, e: else:
os.system('cd gof; python autotest.py %s' % debugparam) cmd = 'python'
for dir in 'gof compile scalar tensor sparse'.split():
os.system('cd %s; %s autotest.py %s' % (dir, cmd, debugparam))
test_root_dir(debugparam!="") test_root_dir(debugparam!="")
#import function import function_module
from function import * from function_module import *
import unittest import unittest
import gof, gof.opt import gof, gof.opt
import compile from theano import compile
from compile import * from theano.compile.function_module import *
from scalar import * from theano.scalar import *
import tensor
from theano import tensor
from theano import tensor as T
import random
import numpy as N
PatternOptimizer = lambda p1, p2, ign=True: gof.OpKeyOptimizer(gof.PatternSub(p1, p2), ignore_newtrees=ign) PatternOptimizer = lambda p1, p2, ign=True: gof.OpKeyOptimizer(gof.PatternSub(p1, p2), ignore_newtrees=ign)
...@@ -142,9 +146,6 @@ def checkfor(testcase, fn, E): ...@@ -142,9 +146,6 @@ def checkfor(testcase, fn, E):
# assert compile._fcache[(e, )]() == 14.0 # assert compile._fcache[(e, )]() == 14.0
import tensor as T
import random
import numpy as N
class T_OpFromGraph(unittest.TestCase): class T_OpFromGraph(unittest.TestCase):
......
import unittest, os, sys, traceback
if __name__ == '__main__':
def printUsage():
print >>sys.stderr, "Bad argument: ",sys.argv
print >>sys.stderr, "only --debug is supported"
sys.exit(1)
debugparam=""
if len(sys.argv)==2:
if sys.argv[1]=="--debug":
debugparam="--debug"
sys.argv.remove(debugparam)
else:
printUsage()
elif len(sys.argv)>2:
printUsage()
suite = None
filenames = os.listdir('.')
for filename in filenames:
if filename[-3:] == '.py':
modname = filename[:-3]
if modname in ['__init__', 'autotest']: continue
#print >>sys.stderr, 'Loading', modname
try:
module = __import__(modname)
except Exception, e:
if 'relative import' not in e.message:
print >>sys.stderr, "===================================================="
print >>sys.stderr, "Failed to load module %s" % modname
print >>sys.stderr, "===================================================="
traceback.print_exc()
print >>sys.stderr, "===================================================="
continue
tests = unittest.TestLoader().loadTestsFromModule(module)
if tests.countTestCases() > 0:
print >>sys.stderr, 'Testing', modname
if suite is None:
suite = tests
else:
suite.addTests(tests)
if debugparam:
suite.debug()
else:
unittest.TextTestRunner(verbosity=1).run(suite)
...@@ -882,7 +882,7 @@ class OpFromGraph(gof.Op): ...@@ -882,7 +882,7 @@ class OpFromGraph(gof.Op):
self.input_types = [input.type for input in inputs] self.input_types = [input.type for input in inputs]
self.output_types = [output.type for output in outputs] self.output_types = [output.type for output in outputs]
if grad_depth > 0: if grad_depth > 0:
import gradient as G from theano import gradient as G
output_grads = [t() for t in self.output_types] output_grads = [t() for t in self.output_types]
gd = G.grad_sources_inputs(zip(self.outputs, output_grads), self.inputs) gd = G.grad_sources_inputs(zip(self.outputs, output_grads), self.inputs)
gs = map(gd.get, self.inputs) gs = map(gd.get, self.inputs)
......
import unittest import unittest
from ..gof import Result, Op, Env from theano.gof import Result, Op, Env
from .. import gof from theano import gof
from basic import * from theano.scalar.basic import *
def inputs(): def inputs():
......
import unittest, os, sys, traceback
if __name__ == '__main__':
def printUsage():
print >>sys.stderr, "Bad argument: ",sys.argv
print >>sys.stderr, "only --debug is supported"
sys.exit(1)
debugparam=""
if len(sys.argv)==2:
if sys.argv[1]=="--debug":
debugparam="--debug"
sys.argv.remove(debugparam)
else:
printUsage()
elif len(sys.argv)>2:
printUsage()
suite = None
filenames = os.listdir('.')
for filename in filenames:
if filename[-3:] == '.py':
modname = filename[:-3]
if modname in ['__init__', 'autotest']: continue
#print >>sys.stderr, 'Loading', modname
try:
module = __import__(modname)
except Exception, e:
if 'relative import' not in e.message:
print >>sys.stderr, "===================================================="
print >>sys.stderr, "Failed to load module %s" % modname
print >>sys.stderr, "===================================================="
traceback.print_exc()
print >>sys.stderr, "===================================================="
continue
tests = unittest.TestLoader().loadTestsFromModule(module)
if tests.countTestCases() > 0:
print >>sys.stderr, 'Testing', modname
if suite is None:
suite = tests
else:
suite.addTests(tests)
if debugparam:
suite.debug()
else:
unittest.TextTestRunner(verbosity=1).run(suite)
from sparse import * from theano.sparse import *
import unittest import unittest
from .. import compile from theano import compile
from .. import gradient from theano import gradient
from basic import _is_dense, _is_sparse, _is_dense_result, _is_sparse_result from theano.sparse.basic import _is_dense, _is_sparse, _is_dense_result, _is_sparse_result
from basic import _mtypes, _mtype_to_str from theano.sparse.basic import _mtypes, _mtype_to_str
import random import random
from .. import gof from theano import gof
def eval_outputs(outputs): def eval_outputs(outputs):
return compile.function([], outputs)()[0] return compile.function([], outputs)()[0]
......
import unittest, os, sys, traceback
if __name__ == '__main__':
def printUsage():
print >>sys.stderr, "Bad argument: ",sys.argv
print >>sys.stderr, "only --debug is supported"
sys.exit(1)
debugparam=""
if len(sys.argv)==2:
if sys.argv[1]=="--debug":
debugparam="--debug"
sys.argv.remove(debugparam)
else:
printUsage()
elif len(sys.argv)>2:
printUsage()
suite = None
filenames = os.listdir('.')
for filename in filenames:
if filename[-3:] == '.py':
modname = filename[:-3]
if modname in ['__init__', 'autotest']: continue
#print >>sys.stderr, 'Loading', modname
try:
module = __import__(modname)
except Exception, e:
if 'relative import' not in e.message:
print >>sys.stderr, "===================================================="
print >>sys.stderr, "Failed to load module %s" % modname
print >>sys.stderr, "===================================================="
traceback.print_exc()
print >>sys.stderr, "===================================================="
continue
tests = unittest.TestLoader().loadTestsFromModule(module)
if tests.countTestCases() > 0:
print >>sys.stderr, 'Testing', modname
if suite is None:
suite = tests
else:
suite.addTests(tests)
if debugparam:
suite.debug()
else:
unittest.TextTestRunner(verbosity=1).run(suite)
import traceback import traceback
import operator import operator
from tensor import * from theano.tensor import *
import tensor # for hidden symbols from theano.tensor import basic as tensor # for hidden symbols
import unittest import unittest
from copy import copy from copy import copy
import compile from theano import compile
import gradient from theano import gradient
import gof, gof.graph import gof, gof.graph
from gof.python25 import any from theano.gof.python25 import any
import gof from theano import gof
from gof.utils import AbstractFunctionError from theano.gof.utils import AbstractFunctionError
import tensor_opt
from elemwise import DimShuffle from theano.tensor.elemwise import DimShuffle
default_mode = compile.Mode(optimizer = None, default_mode = compile.Mode(optimizer = None,
linker = 'c&py') linker = 'c&py')
......
...@@ -2,13 +2,13 @@ ...@@ -2,13 +2,13 @@
import time import time
import unittest import unittest
from gof import Result, Op from theano.gof import Result, Op
import gof from theano import gof
from scalar import * from theano.scalar import *
import tensor from theano import tensor
from elemwise import * from theano.tensor.elemwise import *
def Env(i, o): def Env(i, o):
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
import unittest import unittest
import gof import gof
from tensor_opt import * from theano.tensor.opt import *
import tensor from theano import tensor
from tensor import Tensor from theano.tensor import Tensor
from gof import Env from theano.gof import Env
from elemwise import DimShuffle from theano.tensor.elemwise import DimShuffle
import numpy import numpy
#import scalar_opt #import scalar_opt
...@@ -98,7 +98,7 @@ class _test_dimshuffle_lift(unittest.TestCase): ...@@ -98,7 +98,7 @@ class _test_dimshuffle_lift(unittest.TestCase):
from tensor import * from theano.tensor import *
#from sandbox import pprint #from sandbox import pprint
......
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
import unittest import unittest
from tensor_random import * from theano.tensor.raw_random import *
import compile from theano import compile
def Uniform(s, n): def Uniform(s, n):
return NumpyGenerator(s, n, numpy.random.RandomState.uniform) return NumpyGenerator(s, n, numpy.random.RandomState.uniform)
......
import unittest, os, sys, traceback
if __name__ == '__main__':
def printUsage():
print >>sys.stderr, "Bad argument: ",sys.argv
print >>sys.stderr, "only --debug is supported"
sys.exit(1)
debugparam=""
if len(sys.argv)==2:
if sys.argv[1]=="--debug":
debugparam="--debug"
sys.argv.remove(debugparam)
else:
printUsage()
elif len(sys.argv)>2:
printUsage()
suite = None
filenames = os.listdir('.')
for filename in filenames:
if filename[-3:] == '.py':
modname = filename[:-3]
if modname in ['__init__', 'autotest']: continue
#print >>sys.stderr, 'Loading', modname
try:
module = __import__(modname)
except Exception, e:
if 'relative import' not in e.message:
print >>sys.stderr, "===================================================="
print >>sys.stderr, "Failed to load module %s" % modname
print >>sys.stderr, "===================================================="
traceback.print_exc()
print >>sys.stderr, "===================================================="
continue
tests = unittest.TestLoader().loadTestsFromModule(module)
if tests.countTestCases() > 0:
print >>sys.stderr, 'Testing', modname
if suite is None:
suite = tests
else:
suite.addTests(tests)
if debugparam:
suite.debug()
else:
unittest.TextTestRunner(verbosity=1).run(suite)
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论