We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.

jacek • 3 years ago

Nice write up! Glad you shared that.

jolindien • 3 years ago

great job !
Congrats for your NN implemention. It's really performant !

Works fine for me with Linux as you described.
With Windows I am not able to compile the .cpp file. I tried with codeBlock/mingw and with Visual studio. The error message concerns a call to _mm_cvtss_f32 ("inlining failed ...").

For oware game, result is not so far from the others NN.
I hope I will be able to help to improve this...

jolindien • 2 years ago

I am now able to compile with Windows.
What works for me:

-> codeBlock IDE (compiler=mingw)
-> "other compiler options"

-> add "-march=native"

Marchete • 2 years ago

Probably even _mm_cvtss_f32 is in an unused function, or maybe you need the libstd header, I don't know. I coded all in VS2017/2019, with AVX2 enabled, C++17 and 64bit compilation. So I'm 100% sure it works on Windows.

Wontonimo • 3 years ago

Very concise and fully descriptive of your process. Thanks for sharing.

Wontonimo • 3 years ago

Something that may help training is to *not* use training samples that the ML is already good at. There is this paper https://arxiv.org/abs/1910.... which I demo'd in this video youtube.com/watch?v=pglJizz... that this technique was sufficient to both dramatically speed up training and help the neural net learn edge cases better. In the video description there is a link to Tensorflow code which makes it very easy to plug into your loss function without having to write anything special. Please let me know if this makes an improvement or even if it does if you do end up using it.

jolindien • 2 years ago

It seems to me that there is a small improvement to make here:
-> void add(const Tensor &bias, Tensor &out) {
My test reports an increase of performance about 10%.

I have a question about AVX (I'm not familiar with it): is it possible to use AVX256 on codingame ? And would this be a source of significant improvement ?