テンセントncnnを使用し、彼らはとてもフレンドリーでコンパイル;しかし、3D操作オペレータのサポートが十分ではありません。モデルの原因使えなく新興国に。
参照MNNアリはそれを覚えておくために、2日間トス、味新鮮に断続的な結果を開発しました。
ありがとうございました。
https://uzshare.com/view/810473
https://www.yuque.com/mnn/cn/build_windows
これは多数の構成を詳述します。
1.設定
2、Pythonの./schema/generate.pyにPowerShellの./schema/generate.ps1
あなたはx64のをコンパイルしたい場合は、意志
os.system( 'cmakeの-DCMAKE_BUILD_TYPE =リリース..')
に変更されました
os.system(' cmakeの-G "のVisual Studio 14 2015 Win64の" -DCMAKE_BUILD_TYPE =リリース... ')
このステップは、直接行くことができます
https://github.com/google/flatbuffers/releases
下flatc.exe、在.. \ MNN-マスター\ 3rd_party \ flatbuffers \ TMP \ flatc.exe
3、cmakeののx64のみmnn.lib / mnn.dll
MKDIR vs15x64 && CD vs15x64 cmakeの-G "のVisual Studio 14 2015 Win64の" -DCMAKE_BUILD_TYPE =リリース.. CD .. cmakeの--build vs15x64 --configリリース
通常があります
エラーC2280:「STD :: unique_ptrを<MNN ::パイプライン、のstd :: default_delete <_Ty >>&はstd :: unique_ptrを<_Ty、のstd :: default_delete <_Ty >> ::演算子=(定数のstd :: unique_ptrを<_Ty、 std :: default_delete <_Ty >>&) ':削除された関数を参照しようとします
ソリューション:https://github.com/Hconk/MNN/commit/819a666135a420f680675d503fabfa14028e13d2
//Session.hpp プライベート: のstd ::マップ<MNNForwardType、のstd :: unique_ptrを<バックエンド>> mBackends。 std ::ベクトル<はstd :: unique_ptrを<パイプライン>> mPipelines。 std ::ベクトル<はstd ::ペア<int型、のstd :: shared_ptrの<テンソル>>> mTensors。 std ::マップ<はstd ::文字列、テンソル*> mInputs。 std ::マップ<はstd ::文字列、テンソル*> mOutputs。 BOOL mNeedResize =偽; BOOL mValid =はtrue。 バックエンド* mFirstBackend = nullptr; セッション(セッション&はCONST)=削除。 セッション(セッション&&のconst)=削除。 セッション&演算子=(セッション&はCONST)=削除。 セッション&演算子=(セッション&&のconst)=削除。
だから、基本的に、あなたはMNN.dllでMNN.libを得ることができます。
4、このコンパイルCONVERツールの[私の最も長い、バーストかのように汚い言葉を投げます]
cmakeの-G " のVisual Studio 14 2015 Win64の" -DCMAKE_BUILD_TYPE =リリース-DMNN_BUILD_CONVERTER = ON ..
Q1、設定いるProtobuf
Win7の下では、位置、およびその後、cmdをprotoc.exe下で実行パスの環境変数protoc.exeを追加
Q2、tfliteエラー
エラーLNK2019:エラーflatbuffers :: ClassicLocale flatbuffers :: ClassicLocale :: instance_」(?instance_ @ ClassicLocale @ flatbuffers @@ 0V12 @ A)
ソリューション:tfliteプロジェクトにMNN-マスター\ 3rd_party \ flatbuffers \ SRC \ util.cppを追加
だから、基本的にはコンパイルすることができ、A