Noise2Void fiji predict error

Hi Everyone! I hope you’re fine during these weird times.
I’m new to N2V in Fiji. I managed to get it installed and trained a model using a single slice of a stacked image.
Now, when predicting the output of a target image I get this error and the loading of the model takes forever without getting any output.

(Fiji Is Just) ImageJ 2.1.0/1.53c; Java 1.8.0_172 [64-bit]; Windows 10 10.0; 143MB of 12168MB (1%)

java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/commons/compress/utils/FileNameUtils
at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:307)
at net.imagej.legacy.DefaultLegacyHooks.interceptRunPlugIn(DefaultLegacyHooks.java:166)
at ij.IJ.runPlugIn(IJ.java)
at ij.Executer.runCommand(Executer.java:150)
at ij.Executer.run(Executer.java:68)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: org/apache/commons/compress/utils/FileNameUtils
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:303)
... 5 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/compress/utils/FileNameUtils
at net.imagej.modelzoo.DefaultModelZooArchive.extract(DefaultModelZooArchive.java:174)
at net.imagej.modelzoo.DefaultModelZooArchive.createModelInstance(DefaultModelZooArchive.java:109)
at net.imagej.modelzoo.consumer.AbstractModelZooPrediction.loadModel(AbstractModelZooPrediction.java:156)
at net.imagej.modelzoo.consumer.AbstractModelZooPrediction.run(AbstractModelZooPrediction.java:99)
at net.imagej.modelzoo.consumer.command.AbstractSingleImagePredictionCommand.run(AbstractSingleImagePredictionCommand.java:101)
at de.csbdresden.n2v.command.N2VPredictCommand.run(N2VPredictCommand.java:59)
at org.scijava.command.CommandModule.run(CommandModule.java:196)
at org.scijava.module.ModuleRunner.run(ModuleRunner.java:165)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:124)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:63)
at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:225)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
... 1 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.compress.utils.FileNameUtils
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 15 more

Any ideas ? Thanks in advance !

Hi!

That is very strange… I presume you installed N2V through the fiji updater?

If you go to “Help / Update …” in Fiji, then you click on advanced mode, then search for “compress”. Click on “jar/commons-compress”, can you tell us what the name is (big bold letters on the right hand side). I would expect “commons-compress-1.20.jar”…

Hi! thank you for your reply. This is what it shows:


Should I uninstall it? or what do you recommend to get the 1.20 version

I downloaded the .jar files for the 1.20 version ! now worked fine. Thanks !

Just dragged them to Fiji. I used this site: Download commons-compress JAR 1.20 ➔ With all dependencies!

Glad to hear!

It seems that the commons-compress-1.10 version was installed by NanoJ-Core, therefore you might encounter problems if you use the related plugins (SRRF, SQUIRREL…etc…) now. If you do use these plugins regularly and they malfunction with the 1.20 version, then maybe you use two Fiji installations.

Yes ! sadly I wanted to use both but having two installations doesn’t seem that bad hahaha.
Another question that popped up and maybe you could help me with is that my GPU doesn’t seem to do any work when training the models (no load on the system monitor) Even thought that I have installed tensorflow without problems and it shows in the Fiji menu as being used.

image

Does N2V only work under CUDA 10 drivers ? Because I’m using CUDA 11.3 . CudNN’s are also up-to date. Thanks again :slight_smile:

Yes, you need to use CUDA 10. We have been struggling lately with the GPU support in Linux and Windows from newly installed CUDA 10 set-ups, so I can’t promise you that it will work. If you do manage to get it to work, please let us know what the steps you followed!

This page may have some important tips.

Out of curiosity, what GPU do you have? Does it support CUDA 10?

Hi and thank you so much again !
I’m running N2V in a 1050ti . Now I managed to downgrade to CUDA 10 and currently using latests CuDnn’s . Still doesn’t show any stress on my GPU
image

I’m currently using TF 1.15 , Should I downgrade to 1.13.1 ? (Also installing the CuDNN 7.4 files)