If you have any questions or problem and you cannot find the answer in the documentation, feel free to send an e-mail to An engineer will answer as soon as possible.

Frequently Asked Questions

General questions

  • The press release says PyTorch and Scikit-learn support. Does this mean general support?

Our API is scikit-learn based, so it can work with PyTorch as any numpy based package.

  • Is it going to be as easy as changing from CPU to GPU?

LightOn Cloud will feature a VM where customers will have access to a CPU, a GPU and LightOn’s OPU. A simple function call will allow computation to be performed on LightOn OPU.

  • How is the IP treated for algorithms running on your systems ?

Any algorithm running on LightOn Cloud is the property of the user. LightOn makes no claim whatsoever on the IP generated by users while using LightOn Cloud.

  • Is it possible to combine GPU and OPU calculations?

One can combine GPU and OPU computation in the same way as GPU and CPU: by running a part of the computations on the GPU and a part on the OPU. Note that the operation performed by the OPU is not differentiable though.

Common errors

  • If you get one of the following errors, there is a hardware issue, please contact support:
RuntimeError: Error getting Ximea image at 0. : Timeout
RuntimeError: Starting Ajile system: Unknown error -1
  • I got the following error, did I reach the OPU limit?
ValueError: could not broadcast input array from shape (x, 130560) into shape (x, y).

No, it is not the OPU limit. By default the camera ROI (region of interest) is set to 272 x 480. It can be changed with:

opu = OPU()
opu.cam_ROI = ([y_offset, x_offset], [height, width])

The maximum values possible for height and width can be found by looking at opu.cam_shape_max.

  • My output is full of values between 5 and 10 and the performance of my algorithm is bad. What is happening?

When the output values are so low, it means that not enough signal is reaching the camera. From lightonml-0.7.2 there is a profile_opu_output in lightonml.utils that detects this kind of situations and helps you in changing some settings of the OPU for the optimal output.

  • If I computed a random projection to dimension 10000, can I take the first 1000 columns of this for a projection to dimension 1000?

Yes, sampling any N columns from a projection to a bigger dimension is the same as performing a random projection to dimension N.