TensorFlow-(一)
2326 ワード
一、TensorFloweliteを使ってiOSカスタムバージョンを構築する TensorFlowliteによって提供されたcocococoappodsバージョンはiOS 9に対応しています.したがって、手動でソースコードをコンパイルする必要があります.静的パッケージを構築し、iOS 8以上のシステムをサポートします. TensorFlowは現在swiftとOCをサポートしています.直接的なcocapadsを使って統合したいならば. 二、iOSでC++apiを使う appiを使う前にlite版のmodelを用意しておく必要があります.modelトレーニングが完了したらliteに変換すればいいです. modelをロードするクラス: C++modelをロードするステップ FlatBuffer Modelを構築し、構築されたFlatBuffer ModelからInterpreterの例を初期化する.Tensorの最適化を選択的に行うことができる.Tensorの値を設定します.運転推理を呼び出します.Tensorの出力値を読み取るには、Interpreterオブジェクトの注意事項を使います.Tensorは整数値で表しています.文字列での比較を避けるために.Interpreterにアクセスすると、複数スレッド中での同時アクセスを避けることができます.Tensorの入力と出力メモリの割り当てはAllocateTensors()を使ってリセットサイズ後に行います.
class FlatBufferModel {
public:
// Builds a model based on a file.
// Caller retains ownership of `error_reporter` and must ensure its lifetime
// is longer than the FlatBufferModel instance.
// Returns a nullptr in case of failure.
static std::unique_ptr BuildFromFile(
const char* filename,
ErrorReporter* error_reporter = DefaultErrorReporter());
// Builds a model based on a pre-loaded flatbuffer.
// Caller retains ownership of the buffer and should keep it alive until
// the returned object is destroyed. Caller also retains ownership of
// `error_reporter` and must ensure its lifetime is longer than the
// FlatBufferModel instance.
// Returns a nullptr in case of failure.
// NOTE: this does NOT validate the buffer so it should NOT be called on
// invalid/untrusted input. Use VerifyAndBuildFromBuffer in that case
static std::unique_ptr BuildFromBuffer(
const char* caller_owned_buffer, size_t buffer_size,
ErrorReporter* error_reporter = DefaultErrorReporter());
}
tflite::FlatBufferModel model(path_to_model);
tflite::ops::builtin::BuiltinOpResolver resolver;
std::unique_ptr<:interpreter> interpreter;
tflite::InterpreterBuilder(*model, resolver)(&interpreter);
// Resize input tensors, if desired.
interpreter->AllocateTensors();
float* input = interpreter->typed_input_tensor(0);
// Fill `input`.
interpreter->Invoke();
float* output = interpreter->typed_output_tensor(0);