問題タブ [ceres-solver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - マルチスレッドをサポートする ios 用の ceres-solver のビルド
こんにちは、ここからios用のceresを構築しようとしています
推奨されるビルド設定で問題なくビルドできますが、マルチスレッドなしでビルドされます。
マルチスレッドのサポートを追加したいと思います。OpenMP
、またはでマルチスレッドのサポートを追加する方法はありますTBB
かC++
?
c++ - sse/avx を含むライブラリと一緒に Ceres を使用するとエラーが発生する
一部の関数が float 型と double 型に特化したテンプレート ライブラリがあります。この特殊化は sse/avx を使用するため、このライブラリには-march=native -mavx2
コンパイラ フラグがあります。このライブラリの関数 (特殊化されていない) を使用しようとすると、Ceres から次のランタイム エラーが発生します。
はるかに単純なコードでエラーを再現できました: here . 基本的に、この例は-mavx2 -march=native
フラグが削除されている場合は機能し、フラグが存在する場合は機能しません (前のエラーが生成されます) (CmakeLists.txt からコメントおよびコメント解除)。この例では、avx/sse を使用する関数は存在しませんが、私のライブラリにはそれらがあることを思い出してください。したがって、フラグを削除すること-mavx2 -march=native
はできません。これを解決するために何をすべきかについて何か考えはありますか? Ceres をコンパイルしたときに、ドキュメント-DCMAKE_CXX_FLAGS="-march=native"
で指摘されているようにフラグを追加しました。
エラー メッセージに示されている Web ページを読んでも解決策はありませんでした。
私のシステムに関するいくつかの有用な情報:
- コンパイラ: clang++
- clang バージョン 6.0.0-1ubuntu2 (タグ/RELEASE_600/final)
- ターゲット: x86_64-pc-linux-gnu
- スレッドモデル: posix
- Ceres バージョン: 2.0 (実際には git リポジトリがあり、数分前に更新しました:)
- CPU: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
ceres-solver - Ceres-Solver が「終了: 残差とヤコビアンの評価に失敗しました」で失敗します。jacobian for-loop を定義するために非静的変数が使用された場合
Ceresを使用して解決している非線形システムがあります。まばらなブロック構造を持つまばらなシステムです。私は画像データにも取り組んでいるので、「denoising.cc」の例に基づいてコードを作成しました。
私が遭遇している問題は、コードが「終了: 残差およびヤコビアンの評価に失敗しました。」で失敗することです。Evaluate で変数 'num_weights' をハードコーディングすることで問題を解決できます。
この関数を 1 つまたは複数のピクセルで呼び出すと、問題は解決しません。ピクセルごとに、重みが異なります。
これがなぜなのかについての洞察は役に立ちます。
ありがとう!