Skip to content

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

Description

@aedavids

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")}')

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions