Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.NoSuchMethodError: org.tensorflow.framework.MetaGraphDef.makeExtensionsImmutable()V #25

Open
aedavids opened this issue Jan 30, 2025 · 2 comments
Labels
bug Something isn't working

Comments

@aedavids
Copy link

Describe the bug
A clear and concise description of what the bug is.

I get a java exception when I run starDist on my 16 bit tif. I get the same exception when I run with one of the sample images from the Broad Bioimage Benchmark collection. I used AS_09125_050116000001_L15f00d0_slice6_channel3.tif

https://data.broadinstitute.org/bbbc/BBBC008/BBBC008_v1_images.zip

To reproduce
Steps to reproduce the behavior, ideally by providing a code snippet, Python script, or Jupyter notebook.

start Fiji

I used the macro recorder to collect the following

open("/Users/xxx/Downloads/human_ht29_colon_cancer_2_images/AS_09125_050116000001_L15f00d0_slice6_channel3.tif");
selectImage("AS_09125_050116000001_L15f00d0_slice6_channel3.tif");

plugins > starDist > star dist 2

press okay

[INFO] No TF library found in /Applications/Fiji.app/lib/.
[INFO] Using default TensorFlow version from JAR: TF 1.15.0 CPU
[INFO] Loading TensorFlow model GenericNetwork_4fe3e0afe4f0d34891e153c8fca922cf from source file file:/var/folders/j5/rdgmwdpj6sxfkrkxtqh0h2p00000gr/T/stardist_model_2389887463590546169.zip
[INFO] Caching TensorFlow models to /Applications/Fiji.app/models
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: org.tensorflow.framework.MetaGraphDef.makeExtensionsImmutable()V
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at de.csbdresden.csbdeep.commands.GenericCoreNetwork.run(GenericCoreNetwork.java:420)
	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:125)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:64)
	at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:247)
	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)
	at java.lang.Thread.run(Thread.java:750)
Caused by: java.lang.NoSuchMethodError: org.tensorflow.framework.MetaGraphDef.makeExtensionsImmutable()V
	at org.tensorflow.framework.MetaGraphDef.<init>(MetaGraphDef.java:168)
	at org.tensorflow.framework.MetaGraphDef.<init>(MetaGraphDef.java:25)
	at org.tensorflow.framework.MetaGraphDef$1.parsePartialFrom(MetaGraphDef.java:4257)
	at org.tensorflow.framework.MetaGraphDef$1.parsePartialFrom(MetaGraphDef.java:4252)
	at com.google.protobuf.AbstractParser.parsePartialFrom(AbstractParser.java:135)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:168)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:180)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:185)
	at com.google.protobuf.AbstractParser.parseFrom(AbstractParser.java:25)
	at org.tensorflow.framework.MetaGraphDef.parseFrom(MetaGraphDef.java:2680)
	at de.csbdresden.csbdeep.network.model.tensorflow.TensorFlowNetwork.loadModel(TensorFlowNetwork.java:174)
	at de.csbdresden.csbdeep.network.model.DefaultNetwork.loadModel(DefaultNetwork.java:76)
	at de.csbdresden.csbdeep.network.DefaultModelLoader.loadNetwork(DefaultModelLoader.java:69)
	at de.csbdresden.csbdeep.network.DefaultModelLoader.run(DefaultModelLoader.java:48)
	at de.csbdresden.csbdeep.commands.GenericCoreNetwork.tryToPrepareInputAndNetwork(GenericCoreNetwork.java:524)
	at de.csbdresden.csbdeep.commands.GenericCoreNetwork.initiateModelIfNeeded(GenericCoreNetwork.java:303)
	at de.csbdresden.csbdeep.commands.GenericCoreNetwork.mainThread(GenericCoreNetwork.java:445)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	... 4 more
[INFO] CSBDeep plugin exit (took 6567 milliseconds)
[ERROR] Command errored: StarDist 2D
java.lang.NullPointerException
	at de.csbdresden.stardist.StarDist2D.splitPrediction(StarDist2D.java:338)
	at de.csbdresden.stardist.StarDist2D.run(StarDist2D.java:307)
	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:125)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:64)
	at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:247)
	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)
	at java.lang.Thread.run(Thread.java:750)

I am using

I am using macos Montery 12.7.6

ImageJ2 Version 2.16.0/1.54g
true CSBDeep https://sites.imagej.net/CSBDeep/ Plugins for executing pretrained CARE networks.
StarDist https://sites.imagej.net/StarDist/ Object Detection with Star-convex Shapes

Everything is up to date

I was able to run starDist a couple of months ago. I images where PNG's

Expected behavior
A clear and concise description of what you expected to happen.

Data and screenshots
If applicable, add data (e.g. images) or screenshots to help explain your problem.

Image Image

Environment (please complete the following information):

  • StarDist version [e.g. 0.6.2]
  • CSBDeep version [e.g. 0.6.1]
  • TensorFlow version [e.g. 2.3.1]
  • OS: [ Mac]
  • GPU memory (if applicable): [e.g. 8 GB]
/Applications/Fiji.app/plugins/StarDist_-0.3.0.jar
/Applications/Fiji.app/jars/csbdeep-0.6.0.jar
/Applications/Fiji.app/jars/tensorflow-1.15.0.jar        
 /Applications/Fiji.app/jars/libtensorflow-1.15.0.jar
/Applications/Fiji.app/jars/libtensorflow_jni-1.15.0.jar  
/Applications/Fiji.app/jars/imagej-tensorflow-1.1.6.jar

You may run this code and paste the output:

import importlib, platform

print(f'os: {platform.platform()}')
for m in ('stardist','csbdeep','tensorflow'):
    try:
        print(f'{m}: {importlib.import_module(m).__version__}')
    except ModuleNotFoundError:
        print(f'{m}: not installed')

import tensorflow as tf
try:
    print(f'tensorflow GPU: {tf.test.is_gpu_available()}')
except:
    print(f'tensorflow GPU: {tf.config.list_physical_devices("GPU")}')
@aedavids aedavids added the bug Something isn't working label Jan 30, 2025
@uschmidt83 uschmidt83 transferred this issue from stardist/stardist Feb 2, 2025
@edorii
Copy link

edorii commented Feb 5, 2025

Hello ! I encountered a similar problem with the 2D StarDist imageJ plugin. I'm using the same ImageJ version (1.54g), both StarDist and CBS-Deep are up-to-date and I get the exact same error message as decribed by @aedavids when running the plugin on an image that I routinely used in my analysis (not in a macro, Plugin>StarDist>StardDist 2D with recommended parameters). I was running automatic updates, and I can attest that the plugin was working a week or two before without any problems.

I may have an old backup of ImageJ, i'll try to run the plugins and check what are the differences between the most up-to-date one.

@pr4deepr
Copy link

I am having the same issue and have reported it here: https://forum.image.sc/t/stardist-plugin-error-after-fiji-update-only-custom-models/108026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants