I am using edge-impulse-linux NodeJS SDK library to do classification of images.
I am using LinuxImpulseRunner in following way:
async function execute () {
....
let runner = new LinuxImpulseRunner(modelfile);
let model = await runner.init();
let resized = await resizeImage(model, imagefile)
let classifyRes = await runner.classify(resized.features)
await runner.stop();
...
}
It works perfectly, but the /dev/shm folder after some time becomes full of edge-impulse-cliXXXXX directories with runner.sock file inside,
And afer some days of calls of that function (I am doing object detection on an image which is taken by my PiCamera every 20 seconds…) I got following error:
ERROR {\"errno\":-28,\"code\":\"ENOSPC\",\"syscall\":\"mkdtemp\",\"path\":\"/dev/shm/edge-impulse-cliEpCsfU\",\"name\":\"Error\",\"message\":\"ENOSPC: no space left on device, mkdtemp '/dev/shm/edge-impulse-cliEpCsfU'\",\"stack\":\"Error: ENOSPC: no space left on device, mkdtemp '/dev/shm/edge-impulse-cliEpCsfU'\"}","context":"default","severity":"DEBUG"}
Does the call to stop() do not perform cleanup ?
Any SDK API method exists to avoid that issue ?