neuroptica icon indicating copy to clipboard operation
neuroptica copied to clipboard

Added trainable nonlinearity class with example

Open bendavidsteel opened this issue 4 years ago • 2 comments

Hey Ben,

I got in contact with you about a year ago about using this framework, and I ended up using it in my masters thesis.

I extended it to allow the modelling of a trainable nonlinear optical component. I wondered if you'd be interested in added the code to the repository?

Thanks for creating this, its great to see the buzz around optical NNs building.

Thanks, Ben

bendavidsteel avatar Feb 13 '20 23:02 bendavidsteel

Hi Ben,

Sorry to take so long to get back to you - I've been in India for the last two weeks.

I'm glad you found our framework useful! I'm not actively developing neuroptica anymore but this looks like an interesting addition and I would be happy to merge it. I'll look through the code now and make some comments, and if you could add the FabryPerotInferometer class to the nonlinearities test script here (https://github.com/fancompute/neuroptica/blob/master/tests/test_nonlinearities.py) to verify the gradient computations and make sure everything passes, that would be great. (You may need to run the build more than once since the randomized test scripts can sometimes fail due to numerical errors and tight tolerances.)

Best, Ben

bencbartlett avatar Feb 25 '20 23:02 bencbartlett

Hi Ben,

Sorry to take so long to get back with you on this. What is the status of this PR? I see you've addressed a lot of the code review and added an entry to the tests file, but the tests are currently failing. This does occasionally randomly happen even for working modules - do the tests ever pass if you run them a few times?

bencbartlett avatar Apr 16 '20 20:04 bencbartlett