Odm: 分割マージがサーバーでのサブモデルの作成に失敗する

作成日 2019年07月19日  ·  3コメント  ·  ソース: OpenDroneMap/ODM

OpenDroneMapをどのようにインストールしましたか? (Docker、ネイティブ、...)?

LinuxサーバーでのDockerの使用

お使いのブラウザとオペレーティングシステムは何ですか? (https://www.whatismybrowser.com/の出力をコピーして貼り付けます)

PuTTy経由のコマンドライン

何が問題ですか?

ローカルマシンでODMを実行すると、データセットを分割する場合と分割しない場合で、を使用して正常に動作します。

docker run -it --rm -v G:/ test:/ datasets / code opendronemap / odm --project-path / datasets

また

docker run -it --rm -v G:/ test:/ datasets / code opendronemap / odm --project-path / datasets --split 10 --split-overlap 3

ローカルフォルダ(ハードドライブまたはUSB外付けディスク)にデータがある限り、期待どおりにすべてを実行します

しかし、サーバー上で実行すると、splitコマンドがないと機能しませ

docker run -it --rm -v / my-server / Project folder:/ datasets / code opendronemap / odm --project-path / datasets
正常に動作しますが、追加するとすぐに
--split 10 --split-overlap 3

コードに対して、次のエラーが発生します。

[情報] / code / SuperBuild / src / opensfm / bin / opensfm create_submodels> / var / www / data / 44a86e01-7ff1-4848-a6b6-711097026c96 / opensfmを実行しています
トレースバック(最後の最後の呼び出し):
ファイル「/ code / SuperBuild / src / opensfm / bin / opensfm」、34行目
command.run(args)
ファイル「/code/SuperBuild/src/opensfm/opensfm/commands/create_submodels.py」、37行目、実行中
meta_data.load_clusters_with_neighbors())
> create_submodelsのファイル「/code/SuperBuild/src/opensfm/opensfm/large/metadataset.py」、154行目
os.symlink(src_relpath、dst)
OSError:[Errno95]操作はサポートされていません
トレースバック(最後の最後の呼び出し):
ファイル「/code/run.py」、56行目
app.execute()
実行中のファイル「/code/stages/odm_app.py」、93行目
self.first_stage.run()
ファイル「/code/opendm/types.py」、376行目、実行中
self.next_stage.run(outputs)
ファイル「/code/opendm/types.py」、357行目、実行中
self.process(self.args、outputs)
ファイル「/code/stages/splitmerge.py」、65行目、処理中
octx.run(“ create_submodels”)
ファイル「/code/opendm/osfm.py」、21行目、実行中
(context.opensfm_path、command、self.opensfm_project_path))
ファイル「/code/opendm/system.py」、76行目、実行中
Exception(“子が{}を返しました” .format(retcode))を発生させます
例外:子が1を返しました

opensfmでサブモデルフォルダの読み取り/書き込みに問題があるようです。 dockerユーザーグループに追加されましたが、コマンドを実行するときにsudo権限がありません。

期待される動作はどうあるべきですか? これが機能のリクエストである場合は、可能であれば、変更を加える必要のあるファイルと行を引用して、コードに加える必要があると思われる変更について詳しく説明してください。

予想される動作は、ODMがサブモデルフォルダーを作成し、データセットをチャンクで処理することです。そのため、各サブモデルのオルソフォトとDSMを抽出して、後で小さなtifファイルを処理できます。

これをどのように再現できますか? (問題を引き起こすためにどのような手順を実行しましたか?処理にどのパラメータを使用していますか?可能であれば、GoogleドライブまたはDropboxにアップロードされたデータセットのコピーを含めてください。詳細を記入してください)

サーバーディスクで--splitを使用してODMを実行する

bug

全てのコメント3件

私はサーバー管理者と行ったり来たりしてきましたが、問題が見つかったと思います。
シンボリックリンクは、cifsファイルシステムで実行するときに問題があり、mountコマンドにmfsymlinkフラグを追加する必要があります。そのため、エラーが発生していました。 mfsymlinkフラグを追加した後、プロセスは正常に機能します。 念のため、現在、より大きなデータセットを実行していますが、修正されたようです。

はい、これは完全に理にかなっています。 シンボリックリンクを多用することは、ファイルシステムにとって間違いなく落とし穴です。

ピエロ-あなたはまだこれをバグだと考えていますか、それとも可能であれば、x-ancinがドキュメントに何かを追加するように要求する必要がありますか?

これはバグではなく、ファイルシステムの問題だと思います。 閉鎖。

このページは役に立ちましたか?
0 / 5 - 0 評価