Kirill Golikov
Kirill Golikov
Added class `CMemoryEngine`. It incapsulates all of memory-pools work for any MathEngine derived class.
There were 2 mostly identic files: * [NeoMathEngine/src/MathEngineDeviceStackAllocator.cpp](https://github.com/neoml-lib/neoml/pull/1064/files#diff-d96f854b2096e206eacbbb85386482a7f5bdc01bc416ae9f4e846fdb7b0c38d9) * [NeoMathEngine/src/MathEngineHostStackAllocator.cpp](https://github.com/neoml-lib/neoml/pull/1064/files#diff-8356f1dd5cf320ff2a2716a2a8be1e7ef4f6ef85f40c0a326fb63fe1c68818d6) There were excess calls of `new`/`delete` operators.
Please, before it merge 1. https://github.com/neoml-lib/neoml/pull/1083 2. https://github.com/neoml-lib/neoml/pull/1066 3. https://github.com/neoml-lib/neoml/pull/1064 4. https://github.com/neoml-lib/neoml/pull/1045
The max consumption of temporary memory is reduced by layers: * **CBatchNormalizationLayer**.runWhenLearning() - from ` objectSize + inputSize ` to ` max( inputSize, objectSize ) ` - [x] tested *...
Previously, if you did a `RunOnce` (even on random data) before a `RunAndBackward`, it would no longer be a `firstRun` and you could send batches as you wish. So you...
Update **neoml** on https://neoml.readthedocs.io/ Update **neoml** on PyPI `NeoML/docs/en/Python/requirements.txt`
The `SetProblem` method of the `CProblemSourceLayer` class now has an optional `shuffle` flag, which when enabled causes the indexes in the batch to be randomly generated. At the same time,...