Skip to content
nouiz edited this page Feb 11, 2013 · 31 revisions

Updates in the Trunk since the last release up to git shortlog -ns rel-0.6rc2..

git log -p rel-0.5... |grep Merge|less

PR merged since 0.6rc2:
git log -p rel-0.6rc2... |grep Merge|grep '#' |cut -f 8 -d ' ' | replace "#" "* https://github.com/Theano/Theano/pull/"
Correctly support array with more then 2*10e32 element in AdvancedSubtensor1. Abalkin.
GpuContiguous now check the preallocated outputs strides before using it PL
Take the compiledir lock only for op that generate c_code. Fred
DebugMode.check_preallocated_output now also work on Theano function output Pascal L.
GpuContiguous.grad Ian
Fix path problem in some cases with theano-nose --batch (Abalkin)
Fix compilation problem on GPU on Windows. Fred
Ignore bug before 0.5 by default. Fred
tensor_var.{dot,std,argmin,argmax,argsort,clip,conj,repeat,round,trace,real,imag} to support the NumPy syntax. abalkin
In the grad method, if it were asked to raise an error if there is no path between the variables, we didn't always returned an error. We returned the mathematical right answer 0. Ian
speed up sparse.AddSD new op sparse.ConstructSparseFromList advanced_subtensor1( TODO, how to specify the sparse_grad?

new feature:

tensor.tensordot now support Rop/Lop (Jeremiah Lowin)
This remove the class TensorDot and TensorDotGrad. It is the Dot/Elemwise op that are used.
tensor.dot support n-dimensional inputs as NumPy (Jeremiah Lowin)
Work on the GPU too.
Scan opt that where skipped with a warning is now applied. Fix grad that was not computable, are now computable Razvan.
fix race condition when determining if g++ is available: Abalkin
fix GpuSoftmax and GpuSoftmaxWithBias crash on GTX285 Fred accept -ftz=true, --prec-div=false and --prec=sqrt=false opt to nvcc with nvcc.flags. Enable all of them with nvcc.flags=--use_fast_math
fix compilation crash with llvm on mac Abalkin.
get_constant_value -> get_scalar_constant_value and raise an tensor.basic.NotScalarConstantError. error to be more specific. Ian G.
fix crash due to a race condition when importing theano (Ian G.
windows fix Fred
theano function now always have a field name, default to None. Fred
more scan opt Razvan P. TODO: what it is?
Fix copy or random state between graph Guillaume D.
make CrossentropySoftmax1HotWithBiasDx and CrossentropySoftmaxArgmax1HotWithBias support uint* dtype
Fix problem with the broadcast dimensions of the Repeat op. Abalkin
fix eigh grad that didn't always returned the right dtype. Fred, Olivier D.
fix wrong dtype in sandbox.linalg.ExtractDiag with shape of 0. reported by abalkin
Fixes three non-determinism problems: 1) forbids using dict as the updates argument to theano.compile.function, since this makes the returned function non-deterministic
  1. fixes an issue where grad is non-deterministic
  2. the Updates class was not appropriate for representing updates because it is non-deterministic; replaced it with the OrderedUpdates class. This requires changing scan to use the new class.

Also adds some features I found useful for debugging these issues.

Trying to use the Updates class will result in you getting an OrderedUpdates and a warning. Trying to use theano.function(updates=dict) will issue a warning.

TODO: duplicate with theano.sandbox.linalg.ops.* tensor_var.{diagonal,conjugate} theano.tensor.{diag,diagonal}
fgraph.name == fn.name (Ian G)

New Features: * More Theano determinism with including a new class OrderedSet (Ian G., Olivier D., Pascal L.)

Interface Deprecation (a warning is printed):
theano.misc.strutil.renderString -> render_string (Ian G.)

Interface Change: * Raise an error when theano.shared called with a theano variable (Frederic B.)

New Interface (reuse existing functionality): * tensor_var.sort() as a shortcut for theano.tensor.sort (Jeremiah Lowin)

We where already doing this for argsort
  • Add theano.tensor.take() and a_tensor_var.take() to support NumPy syntax (abalkin)

New debug feature: * debugmode print more info when there is an error (Frederic B.) * Better profiling of test time with theano-nose --time-profile (Frederic B.) * Detection of infinite loop with global optimizer (Pascal L.)

Speed-ups: * c_code for SpecifyShape op (Frederic B.) * cross-entropy optimization now work when specify_shape is used (Pascal L.) * make the Scan optimization ScanSaveMem applied more frequently. (Razvan P, reported Abalkin)

A skipped optimization warning was printed.
  • dot(vector, vector) now faster with some BLAS implementation. (Eric Hunsberger) OpenBLAS and other didn't called {s,d}dot internally when we called {s,g}gemv. MKL was doing this.

Interface Addition: * CudaNdarray_prep_output(CudaNdarray ** arr, int nd, const int * dims) (Ian G)

Crash Fixes: * About dimshuffle (abalkin) * At compilation (Olivier D.) * Fix openmp detection (Pascal L.)

Resulted in a crash with EPD on Windows.
  • Fix for new BLAS interface in SciPy (Olivier D.) Fix crash with some development version of SciPy.
  • GpuSum work with bigger shape when summing on the first dim on 3d tensor. (Frederic B., reported Chris Currivan)

doc David, abalkin, Amir Elaguizy, Olivier D., Fred

Clone this wiki locally