Caused by: java.lang.ClassNotFoundException: org.tensorflow.ndarray.NdArray
まだ誰も着手していません。
- 主要言語
- Java
- スター
- 928
- フォーク
- 227
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
The maven project that I have works fine if run it as Java Application. It does not raise error if I build it eclipse. This a FiJi plugin. As a result, if I copy paste jar file into "FiJi/plugins" or use "install plugins" I still do not have any problem. However, when I choose the plugin, it raises the following error.
In brief, I have models (tensorflow) trained using Python. Then, I load the models in tensorflow/java (0.3.1) . As I wrote above I do not have any problem (if I run the project as Java Application) loading the models and predicting images using tensorflow/java.
I am using windows, but I have the same problem if I run it on Linux as well.
(Fiji Is Just) ImageJ 2.0.0-rc-69/1.53c; Java 1.8.0_172 [64-bit]; Windows 8.1 6.3; 69MB of 12155MB (<1%)
java.lang.NoClassDefFoundError: org/tensorflow/ndarray/NdArray
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
at java.lang.Class.getConstructor0(Class.java:3075)
at java.lang.Class.newInstance(Class.java:412)
at org.scijava.plugin.PluginInfo.createInstance(PluginInfo.java:304)
at org.scijava.command.CommandInfo.createInstance(CommandInfo.java:247)
at org.scijava.command.CommandModule.instantiateCommand(CommandModule.java:248)
at org.scijava.command.CommandModule.<init>(CommandModule.java:98)
at org.scijava.command.CommandInfo.createModule(CommandInfo.java:325)
at org.scijava.module.DefaultModuleService.createModule(DefaultModuleService.java:167)
at org.scijava.module.DefaultModuleService.run(DefaultModuleService.java:206)
at org.scijava.module.DefaultModuleService.run(DefaultModuleService.java:197)
at org.scijava.module.DefaultModuleService.run(DefaultModuleService.java:182)
at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:304)
at net.imagej.legacy.DefaultLegacyHooks.interceptRunPlugIn(DefaultLegacyHooks.java:163)
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.lang.ClassNotFoundException: org.tensorflow.ndarray.NdArray
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)
... 19 more
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
MavenでビルドしたJARをFijiにインストールしてプラグインを選択し、失敗を再現します。スタックトレースはorg.scijava.plugin.PluginInfo.createInstanceに入り、org.tensorflow.ndarray.NdArrayが利用できないことを報告します。プラグインにパッケージ化された依存関係とクラスパスを調査し、その後、影響を受けるプラットフォーム上のFijiでプラグインが正常に起動することを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java, tensorflow
- 領域
- build-system
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100