Closed Oceania2018 closed 5 years ago
A. You can not evaluate execution speed with visual studios line execution counter.
B. The library is not built to be used in a DEBUG
configuration. It heavily relies on JIT optimization and aggressive inlining which occurs only when run in a RELEASE
config or compiled with:
Nevertheless, there is always place for more optimization
I use release mode and optimize code. It's better, but still much slower than before.
I've pushed debug code to https://github.com/SciSharp/TensorFlow.NET/tree/numsharp-unmanaged-storage.
Run Example project as:
Please compare it with previous version. I really hope there is not performance regression.
It's better now.
The first iteration needs JIT optimization. After that, it's more faster than before.
But for the session.run
, it's still about 1.5x slower.
As np.multiply
and all ops were optimized to as far as possible, I see the issue resolved.
As for session.run
, it is a mix of functions - I'll see what I can do.
Run TensorFlow.NET Logistic Regression: