tensorflow / tensorflow/java

Caused by: java.lang.ClassNotFoundException: org.tensorflow.ndarray.NdArray

オープン
#273 コメント 8 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. 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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。