免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

TensorFlow Lite端側(cè)部署實(shí)戰(zhàn):從模型轉(zhuǎn)換到性能優(yōu)化

TensorFlow Lite端側(cè)部署實(shí)戰(zhàn):從模型轉(zhuǎn)換到性能優(yōu)化 很多人都會(huì)在生產(chǎn)環(huán)境里碰到同一個(gè)問(wèn)題模型在服務(wù)器上跑得飛快一搬到手機(jī)或者嵌入式設(shè)備上要么體積大到裝上就閃退要么推理一次半天沒(méi)反應(yīng)要么干脆報(bào)錯(cuò)說(shuō)設(shè)備不認(rèn)這個(gè)模型格式。我最早做端側(cè)部署的時(shí)候也是這樣明明訓(xùn)練時(shí)各種指標(biāo)都很好但真正要把模型塞進(jìn)一臺(tái)只有幾百M(fèi)B可用內(nèi)存的設(shè)備里才發(fā)現(xiàn)模型壓根不是為這種環(huán)境設(shè)計(jì)的。TensorFlow Lite集成要做的事說(shuō)白了就是解決這個(gè)中間落差把訓(xùn)練好的模型壓縮、量化、轉(zhuǎn)換再塞進(jìn)手機(jī)、平板或者單片機(jī)的內(nèi)存里讓它在端側(cè)也能低延遲地跑起來(lái)。這篇東西適合正在做模型部署的人看也適合剛接觸端側(cè)推理、想知道TFLite到底怎么集成的新手。全文我會(huì)從部署痛點(diǎn)講起把轉(zhuǎn)換、量化、安卓端集成、性能優(yōu)化四條鏈路完整走一遍每個(gè)環(huán)節(jié)都帶上我在實(shí)際項(xiàng)目里踩過(guò)的坑和驗(yàn)證過(guò)的做法。內(nèi)容偏實(shí)操代碼可以直接抄你照著跑一遍基本能打通整個(gè)流程。1. 端側(cè)部署的真實(shí)痛點(diǎn)為什么服務(wù)端的模型不能直接搬到手機(jī)上1.1 模型不是程序打包復(fù)制就能跑很多剛?cè)腴T的開發(fā)者會(huì)有個(gè)直覺(jué)模型訓(xùn)練好了保存下來(lái)部署到手機(jī)里然后加載圖片、調(diào)用模型不就行了嗎這個(gè)直覺(jué)錯(cuò)得很離譜。訓(xùn)練好的模型在服務(wù)端依賴著一整套運(yùn)行環(huán)境顯卡驅(qū)動(dòng)、CUDA、cuDNN、Python運(yùn)行時(shí)、TensorFlow完整安裝包。而手機(jī)端沒(méi)有這些一臺(tái)常規(guī)安卓手機(jī)能分給單個(gè)應(yīng)用的內(nèi)存常常只有幾百M(fèi)B處理器和功耗更是被嚴(yán)格限制。舉個(gè)例子我在某次做圖像分類Demo時(shí)就吃過(guò)大虧。當(dāng)時(shí)用了一個(gè)比較重的骨干網(wǎng)絡(luò)模型文件足足有200多MB直接塞進(jìn)APK里不僅安裝包膨脹到離譜運(yùn)行時(shí)光是加載模型文件就把內(nèi)存占了接近500MB在某款入門級(jí)安卓機(jī)上直接閃退。后來(lái)我換成TFLite的壓縮加量化鏈路模型體積壓到了原來(lái)的四分之一不到推理延遲也從幾百毫秒降到幾十毫秒。這還只是常規(guī)優(yōu)化沒(méi)有上GPU委托這類加速手段。1.2 TFLite的三個(gè)組成部分各做了什么TFLite不是簡(jiǎn)單的格式轉(zhuǎn)換工具嚴(yán)格來(lái)說(shuō)它是一整套為端側(cè)推理設(shè)計(jì)的生態(tài)包含三塊東西轉(zhuǎn)換器把訓(xùn)練好的模型轉(zhuǎn)成.tflite格式轉(zhuǎn)換過(guò)程中可以套用量化、剪枝等優(yōu)化解釋器在目標(biāo)設(shè)備上運(yùn)行.tflite模型的運(yùn)行時(shí)引擎針對(duì)移動(dòng)端做了內(nèi)存和算子調(diào)度優(yōu)化委托機(jī)制把部分算子交給GPU、NPU或者專用DSP執(zhí)行加速效果非常明顯。另外.tflite文件本身采用FlatBuffers格式。FlatBuffers是一種零拷貝的序列化格式模型加載時(shí)不需要像Protocol Buffers那樣反序列化出一個(gè)完整對(duì)象樹而是直接在二進(jìn)制數(shù)據(jù)上讀取字段。這個(gè)特性對(duì)端側(cè)非常重要因?yàn)槟P臀募诩虞d時(shí)省掉了一整輪數(shù)據(jù)解析內(nèi)存峰值和啟動(dòng)時(shí)間都會(huì)明顯下降。我記得第一次跑通TFLite時(shí)還特意對(duì)比過(guò)同樣的模型直接用TensorFlow的SavedModel格式在手機(jī)上推理光是加載階段就花了接近3秒轉(zhuǎn)成.tflite之后加載時(shí)間約800毫秒。這不是玄學(xué)FlatBuffers零拷貝讀取就是其中一個(gè)關(guān)鍵原因。2. 從SavedModel到.tflite轉(zhuǎn)換流程里的關(guān)鍵實(shí)操2.1 轉(zhuǎn)換工具選型Python API和命令行怎么選TFLite轉(zhuǎn)換主要的入口有兩個(gè)。一是Python APITFLiteConverter適合在訓(xùn)練腳本里順手轉(zhuǎn)換可以方便地對(duì)模型做精度驗(yàn)證二是命令行工具tflite_converter適合在CI流水線里批量轉(zhuǎn)換。我自己的習(xí)慣是第一次試驗(yàn)、要對(duì)量化效果做迭代驗(yàn)證時(shí)用Python API模型穩(wěn)定后要把多個(gè)版本批量出包時(shí)寫個(gè)shell腳本調(diào)命令行。Python API的用法非常直接以Keras模型為例import tensorflow as tf # 從Keras模型轉(zhuǎn)換 model tf.keras.models.load_model(mobilenetv2_finetuned.h5) converter tf.lite.TFLiteConverter.from_keras_model(model) # 轉(zhuǎn)換為float32的TFLite模型只做格式轉(zhuǎn)換不做量化 tflite_model converter.convert() with open(mobilenetv2.tflite, wb) as f: f.write(tflite_model)如果訓(xùn)練時(shí)保存的是SavedModel格式就換成from_saved_model(導(dǎo)出目錄)。這兩個(gè)入口本質(zhì)上沒(méi)有區(qū)別區(qū)別只在于你手頭保存的模型格式是什么。2.2 轉(zhuǎn)換參數(shù)配置不是所有模型都能一鍵轉(zhuǎn)換真正容易出問(wèn)題的不是API調(diào)用而是轉(zhuǎn)換過(guò)程中算子的兼容性。TFLite支持一套固定算子集不是TensorFlow里所有算子都能直接轉(zhuǎn)換。比如某些訓(xùn)練腳本里常見的tf.image.resize_images在老版本里經(jīng)常需要打開實(shí)驗(yàn)性開關(guān)或者替換成TFLite支持的resize實(shí)現(xiàn)。轉(zhuǎn)換前最好把TFLite官方算子列表過(guò)一遍提前排查模型中用了哪些不在列表里的算子。排查方法也不復(fù)雜先試轉(zhuǎn)一次報(bào)錯(cuò)信息里會(huì)直接告訴你哪個(gè)算子不被支持。遇到不支持的算子優(yōu)先思路是用等價(jià)操作替換其次才是考慮拆解模型、把不兼容的部分留在服務(wù)端計(jì)算。另外要留意輸入輸出簽名。模型如果是用新版本tf_function導(dǎo)出的簽名可能包含命名參數(shù)轉(zhuǎn)換后解釋器讀取輸入輸出索引時(shí)就要按簽名名來(lái)拿而不是簡(jiǎn)單按0、1索引。這個(gè)差異在集成階段非??游液竺鏁?huì)在安卓集成部分詳細(xì)展開。2.3 轉(zhuǎn)換后的正確性驗(yàn)證這一步千萬(wàn)別省轉(zhuǎn)換完成不代表萬(wàn)事大吉。浮點(diǎn)模型轉(zhuǎn)換成TFLite后理論上精度幾乎無(wú)損失但實(shí)際中因?yàn)椴糠炙阕觾?nèi)部實(shí)現(xiàn)差異輸出值可能會(huì)有微小波動(dòng)。如果轉(zhuǎn)換時(shí)疊加了量化差異會(huì)更明顯。所以轉(zhuǎn)換后必須做一次等價(jià)性驗(yàn)證。我自己常用的驗(yàn)證流程是準(zhǔn)備一張固定輸入分別用原模型和TFLite解釋器推理對(duì)比輸出向量。對(duì)于分類模型重點(diǎn)看softmax后最大概率對(duì)應(yīng)的類別是否一致對(duì)于回歸模型看數(shù)值相對(duì)誤差是否在可接受范圍。import numpy as np import tensorflow as tf interpreter tf.lite.Interpreter(model_pathmobilenetv2.tflite) interpreter.allocate_tensors() input_detail interpreter.get_input_details()[0] output_detail interpreter.get_output_details()[0] # 輸入數(shù)據(jù)要和訓(xùn)練時(shí)保持完全一致的預(yù)處理 sample np.random.rand(1, 224, 224, 3).astype(np.float32) interpreter.set_tensor(input_detail[index], sample) interpreter.invoke() tflite_out interpreter.get_tensor(output_detail[index]) # 和原模型輸出對(duì)比 original_out model.predict(sample) print(TFLite最大類別:, np.argmax(tflite_out)) print(Original最大類別:, np.argmax(original_out)) print(最大輸出差異:, np.max(np.abs(tflite_out - original_out)))如果最大輸出差異在1e-4量級(jí)以上基本可以判斷轉(zhuǎn)換過(guò)程有問(wèn)題需要回頭檢查是否漏了量化參數(shù)或者選錯(cuò)了轉(zhuǎn)換入口。3. 量化不是可選項(xiàng)三種量化方案的取舍與實(shí)測(cè)數(shù)據(jù)3.1 動(dòng)態(tài)范圍量化性價(jià)比最高的起步方案TFLite的量化并不是一個(gè)單一開關(guān)而是三種方案并存。最容易上手的是動(dòng)態(tài)范圍量化。它的原理是把模型權(quán)重從float32壓縮到int8推理時(shí)輸入和中間激活仍是float32但權(quán)重會(huì)在運(yùn)行時(shí)做反量化再參與計(jì)算。這樣做的收益非常直接模型體積大約能壓到原來(lái)的四分之一推理速度平均能提升20%到30%而且精度損失通常小到可以忽略。不需要準(zhǔn)備任何校準(zhǔn)數(shù)據(jù)這是它最大的優(yōu)勢(shì)。如果項(xiàng)目著急上線先在轉(zhuǎn)換參數(shù)里加上optimizations[tf.lite.Optimize.DEFAULT]就能白拿這一波優(yōu)化。converter.optimizations [tf.lite.Optimize.DEFAULT] tflite_model_quantized converter.convert()動(dòng)態(tài)范圍量化適合預(yù)算緊張、精度要求高、模型不復(fù)雜的場(chǎng)景。損失方面我實(shí)測(cè)過(guò)多次絕大多數(shù)情況下Top-1準(zhǔn)確率的變化不超過(guò)0.2個(gè)百分點(diǎn)。3.2 FP16量化給GPU設(shè)備準(zhǔn)備的精度友好方案第二種方案是FP16量化權(quán)重量化為float16推理時(shí)如果是GPU委托硬件本身原生支持半精度計(jì)算速度提升顯著如果是CPU推理運(yùn)行時(shí)會(huì)反量化成float32再計(jì)算所以CPU場(chǎng)景收益不太明顯。FP16量化的最大優(yōu)點(diǎn)是精度損失極小理論上可以做到和float32幾乎無(wú)異。損失通常在0.1%以內(nèi)有時(shí)甚至沒(méi)有損失。模型體積縮水一半左右。配置方法是在converter上加target_specconverter.optimizations [tf.lite.Optimize.DEFAULT] converter.target_spec.supported_types [tf.float16] tflite_fp16_model converter.convert()這個(gè)方案特別適合兩類設(shè)備搭載支持半精度計(jì)算的手機(jī)GPU以及需要把模型壓在存儲(chǔ)空間限制內(nèi)的場(chǎng)景。我曾在某款中端機(jī)型上對(duì)比開啟GPU委托后FP16模型推理延遲比FP32版本低了大約30%。3.3 全整型量化端側(cè)部署的終極形態(tài)第三種方案是全整型量化權(quán)重和激活全部變成int8類型。這是TFLite在硬件友好度上的巔峰整數(shù)運(yùn)算在大多數(shù)CPU上占用更少功耗許多NPU和DSP只接受整數(shù)輸入可以說(shuō)全整型模型是打通底層硬件的鑰匙。但全整型量化有個(gè)硬性前置條件必須提供代表性數(shù)據(jù)集。轉(zhuǎn)換器需要從數(shù)據(jù)集中統(tǒng)計(jì)每一層激活值的范圍才能確定int8的縮放比例和零點(diǎn)。如果直接轉(zhuǎn)換不提供校準(zhǔn)數(shù)據(jù)TFLite會(huì)跳過(guò)量化的部分模型實(shí)際仍是半量化狀態(tài)。代表性數(shù)據(jù)集的選取是門學(xué)問(wèn)。我第一次做全整型量化時(shí)直接拿了訓(xùn)練集里隨機(jī)抽的100張圖做校準(zhǔn)結(jié)果模型精度掉了接近3個(gè)百分點(diǎn)。后來(lái)?yè)Q成按類別均勻抽樣、覆蓋各類光照和背景精度損失立刻收斂到1%以內(nèi)。核心原則是校準(zhǔn)集要能代表模型真實(shí)部署時(shí)會(huì)遇到的輸入分布數(shù)量上100到500張通常就夠不是越多越好。def representative_dataset(): for image in calibration_images: input_data preprocess(image) yield [input_data.astype(np.float32)] converter.optimizations [tf.lite.Optimize.DEFAULT] converter.representative_dataset representative_dataset converter.target_spec.supported_ops [tf.lite.OpsSet.TFLITE_BUILTINS_INT8] tflite_int8_model converter.convert()三種量化方案放在一起看各自的定位就很清楚了動(dòng)態(tài)范圍量化是零成本起步FP16是精度敏感場(chǎng)景的穩(wěn)妥選擇全整型量化則是面向低功耗硬件和廣泛設(shè)備兼容性的最終形態(tài)。實(shí)際項(xiàng)目中完全可以根據(jù)目標(biāo)設(shè)備分層出多個(gè)模型版本。3.4 量化后精度退化的排查思路量化不是沒(méi)有代價(jià)的尤其是在小模型和敏感層面前。常見問(wèn)題包括校準(zhǔn)集分布偏差、模型里某些層對(duì)量化特別敏感、輸出層被強(qiáng)制int8導(dǎo)致精度丟失。排查方法我建議這樣先做動(dòng)態(tài)范圍量化如果精度正常就能確定問(wèn)題出在激活值量化上再做全整型量化如果精度異常就替換校準(zhǔn)集觀察變化還是不行就把模型里幾個(gè)高敏感層設(shè)置為float32保留其余層繼續(xù)int8。TFLite支持混合精度配置尤其在檢測(cè)類模型里這種混合模式很常見。這幾個(gè)排查步驟走下來(lái)大部分精度退化問(wèn)題都能定位在哪一層或者哪個(gè)環(huán)節(jié)。4. 安卓端集成實(shí)操解釋器API還是Task API先想清楚再動(dòng)手4.1 依賴與環(huán)境配置安卓端集成第一步是引入依賴。在build.gradle里加上TFLite相關(guān)的包我下面的配置是目前穩(wěn)定可用的組合dependencies { implementation org.tensorflow:tensorflow-lite:2.16.1 implementation org.tensorflow:tensorflow-lite-gpu:2.16.1 implementation org.tensorflow:tensorflow-lite-support:0.4.4 }tensorflow-lite是解釋器本體tensorflow-lite-gpu是GPU委托tensorflow-lite-support是圖像處理和數(shù)據(jù)轉(zhuǎn)換的輔助庫(kù)里面有Task API的基礎(chǔ)組件。新手最容易漏的是把模型文件放對(duì)位置.tflite文件必須放在src/main/assets目錄下否則AssetManager讀不到文件。4.2 用Interpreter API做自定義模型推理如果模型不是標(biāo)準(zhǔn)的圖像分類結(jié)構(gòu)或者你需要完全控制輸入輸出直接用Interpreter API是最靈活的方案。初始化時(shí)加載模型創(chuàng)建解釋器實(shí)例然后通過(guò)getInputDetails和getOutputDetails拿到張量信息。class Classifier( private val context: Context, private val modelPath: String ) { private var interpreter: Interpreter? null fun init() { val model FileUtil.loadMappedFile(context, modelPath) interpreter Interpreter(model, Interpreter.Options().apply { numThreads 4 setUseXNNPACK(true) }) } fun classify(input: FloatArray): FloatArray { val inputShape intArrayOf(1, 224, 224, 3) val outputShape intArrayOf(1, 1000) val inputBuffer ByteBuffer.allocateDirect(4 * inputShape.fold(1, Int::times)) inputBuffer.order(ByteOrder.nativeOrder()) inputBuffer.rewind() // 這里需要把input按CHW順序?qū)懭隻uffer具體寫法和預(yù)處理有關(guān) inputBuffer.asFloatBuffer().put(input) val outputBuffer ByteBuffer.allocateDirect(4 * outputShape.fold(1, Int::times)) outputBuffer.order(ByteOrder.nativeOrder()) interpreter?.run(inputBuffer, outputBuffer) val output FloatArray(outputShape[1]) outputBuffer.asFloatBuffer().get(output) return output } fun close() { interpreter?.close() interpreter null } }這里要特別強(qiáng)調(diào)預(yù)處理的一致性。訓(xùn)練時(shí)圖像分辨率、歸一化公式、RGB通道順序是什么推理時(shí)必須一模一樣。比如訓(xùn)練時(shí)用的是mean[0.485, 0.456, 0.406]、std[0.229, 0.224, 0.225]做歸一化安卓端就要復(fù)現(xiàn)同樣的過(guò)程否則模型的輸出會(huì)莫名其妙地偏離。很多人抱怨部署后效果變差八成問(wèn)題出在這里。4.3 Task API把預(yù)處理后處理一起打包的省心方案如果你做的是圖像分類、目標(biāo)檢測(cè)、圖片分割這類常見任務(wù)我更推薦先用Task API。它把圖像解碼、尺寸縮放、歸一化、輸出解析全部封裝好了你只需要提供圖片路徑或Bitmap就能直接拿到分類結(jié)果省掉大量可復(fù)現(xiàn)性Bug。val options ImageClassifier.ImageClassifierOptions.builder() .setNumThreads(4) .setMaxResults(5) .build() val classifier ImageClassifier.createFromFileAndOptions( context, mobilenetv2_finetuned.tflite, options ) val image Bitmap.createScaledBitmap(source, 224, 224, true) val results classifier.process(image) for (result in results) { Log.d(分類結(jié)果, ${result.categories.first().label}: ${result.categories.first().score}) }Task API底層會(huì)自動(dòng)完成色空間轉(zhuǎn)換、尺寸歸一化這些瑣碎操作對(duì)剛接觸端側(cè)部署的人非常友好。它唯一的限制是不能處理自定義輸出結(jié)構(gòu)比如模型輸出的是兩個(gè)分支的檢測(cè)框坐標(biāo)Task API就不能覆蓋。這種時(shí)候就需要回到Interpreter API做定制開發(fā)。4.4 線程與生命周期管理推理操作不應(yīng)該跑在主線程上否則界面會(huì)明顯卡頓。我通常用單線程的ExecutorService來(lái)跑推理避免多線程同時(shí)操作同一個(gè)Interpreter實(shí)例。Interpreter實(shí)例本身不是線程安全的多個(gè)線程共用同一個(gè)實(shí)例會(huì)出現(xiàn)不可預(yù)期的錯(cuò)誤。如果確實(shí)要并行推理就創(chuàng)建多個(gè)Interpreter實(shí)例各自獨(dú)立。還有一點(diǎn)容易忽略Interpreter用完要close。雖然系統(tǒng)會(huì)在內(nèi)存不足時(shí)回收但tflite模型占用的Native內(nèi)存不會(huì)立刻釋放長(zhǎng)期運(yùn)行的應(yīng)用如果頻繁創(chuàng)建和銷毀解釋器內(nèi)存會(huì)緩慢上漲。我見過(guò)一個(gè)應(yīng)用每次拍照都創(chuàng)建新解釋器但忘了關(guān)閉運(yùn)行半小時(shí)后內(nèi)存占用翻了一倍。養(yǎng)成用完即關(guān)的習(xí)慣能省掉很多線上問(wèn)題。5. 性能基準(zhǔn)測(cè)試與端側(cè)優(yōu)化從能跑到跑得快5.1 用官方基準(zhǔn)測(cè)試工具量化性能集成跑通只是第一步跑得快才是端側(cè)部署的終極目標(biāo)。優(yōu)化之前要先測(cè)量。TFLite官方提供了benchmark_model工具可以直接在設(shè)備上運(yùn)行模型并輸出延遲統(tǒng)計(jì)。# 在設(shè)備上執(zhí)行基準(zhǔn)測(cè)試 adb push mobilenetv2.tflite /data/local/tmp/ adb shell /data/local/tmp/benchmark_model \ --graph/data/local/tmp/mobilenetv2.tflite \ --num_threads4 \ --warmup_min_secs5 \ --run_interval100這個(gè)工具會(huì)輸出每輪推理的平均延遲、標(biāo)準(zhǔn)差等參數(shù)。我一般在優(yōu)化前后各測(cè)一次用數(shù)據(jù)來(lái)指導(dǎo)方向。要注意的是基準(zhǔn)測(cè)試受CPU頻率策略影響波動(dòng)很大最好測(cè)試時(shí)保持屏幕狀態(tài)一致或者多測(cè)幾輪取中位數(shù)。5.2 GPU委托與NNAPI委托怎么選委托機(jī)制是TFLite加速的核心。GPU委托把支持的算子放到GPU上執(zhí)行對(duì)圖像類卷積網(wǎng)絡(luò)提升非常明顯通常能獲得2到3倍的加速。NNAPI委托則依賴設(shè)備上由芯片廠商提供的NPU驅(qū)動(dòng)不同機(jī)型差異巨大有的快得驚人有的反而比CPU還慢。我的選型經(jīng)驗(yàn)是如果目標(biāo)機(jī)型主要是中高端手機(jī)優(yōu)先開啟GPU委托效果穩(wěn)定如果要做全機(jī)型覆蓋建議做分層策略在性能較強(qiáng)的設(shè)備上開啟NNAPI在其他設(shè)備上用CPU加X(jué)NNPACK兜底。原因在于NNAPI在不同設(shè)備上的兼容性和性能方差太大直接全量發(fā)布等到線上才暴露問(wèn)題會(huì)比較被動(dòng)。5.3 端側(cè)優(yōu)化三板斧線程數(shù)、輸入分辨率、內(nèi)存復(fù)用第一個(gè)可調(diào)的參數(shù)是線程數(shù)。Interpreter.Options里的numThreads通常設(shè)置為4比較合理繼續(xù)往上加不一定能提升速度因?yàn)槎藗?cè)芯片的物理核心數(shù)是有限的線程過(guò)多反而引入調(diào)度開銷。第二個(gè)思路是降低輸入分辨率。很多模型訓(xùn)練時(shí)用224x224甚至299x299但端側(cè)場(chǎng)景往往不需要這么高的輸入精度。直接把預(yù)處理階段的分辨率降到192x192推理延遲大約能再降20%到30%對(duì)最終精度影響很小。第三個(gè)是內(nèi)存復(fù)用。在實(shí)時(shí)推理場(chǎng)景比如相機(jī)預(yù)覽連續(xù)做幀分類反復(fù)分配和回收輸入輸出緩沖區(qū)是非常浪費(fèi)的。我一般會(huì)在初始化時(shí)就把固定大小的ByteBuffer分配好每次推理直接復(fù)用同一塊緩沖區(qū)垃圾回收次數(shù)肉眼可見地減少幀率穩(wěn)定性有明顯改善。5.4 常見部署問(wèn)題的排查清單這一年多做了不少TFLite部署項(xiàng)目把最常見的坑匯總成一張表直接對(duì)著排查效率很高現(xiàn)象可能原因排查方向輸出全是NaN或亂碼輸入預(yù)處理和訓(xùn)練不一致檢查歸一化、通道順序、數(shù)據(jù)類型推理速度遠(yuǎn)低于預(yù)期模型未量化、線程數(shù)過(guò)低、未用委托檢查量化配置、開啟GPU/XNNPACK轉(zhuǎn)換時(shí)報(bào)算子不支持模型用了TFLite算子集之外的算子替換算子、拆模型、檢查TFLite版本加載模型時(shí)內(nèi)存暴漲模型未量化或體積過(guò)大改用int8量化、裁剪模型結(jié)構(gòu)多線程推理結(jié)果錯(cuò)亂Interpreter實(shí)例被并發(fā)使用多實(shí)例隔離或加鎖串行化GPU委托后精度下降部分算子FP16精度不足只委托部分層、換回CPU推理敏感層這些坑我基本都踩過(guò)一遍。最離譜的一次是模型在服務(wù)端速度正常部署到某款機(jī)型后首次推理耗時(shí)接近5秒查到最后發(fā)現(xiàn)是模型沒(méi)有啟用XNNPACK加速CPU推理時(shí)走了老路徑。開啟setUseXNNPACK(true)后首次推理時(shí)間降到700毫秒左右問(wèn)題迎刃而解。6. 擴(kuò)展方向與個(gè)人經(jīng)驗(yàn)從TFLite Micro到部署心態(tài)6.1 TFLite Micro面向單片機(jī)的一小塊天地如果項(xiàng)目目標(biāo)設(shè)備是單片機(jī)這類極致資源受限的環(huán)境那TFLite Micro是后續(xù)值得關(guān)注的方向。它把解釋器裁剪到極小尺寸能在只有幾十KB內(nèi)存的設(shè)備上運(yùn)行模型。我還沒(méi)正式在量產(chǎn)項(xiàng)目里用過(guò)它但做技術(shù)調(diào)研時(shí)把官方Demo跑通過(guò)。感受是雖然可用算子范圍更窄、集成難度更高但端側(cè)推理的天花板確實(shí)被打開了。比如在STM32級(jí)別的開發(fā)板上做喚醒詞識(shí)別、傳感器異常檢測(cè)這類場(chǎng)景用TFLite Micro有不可替代的價(jià)值。對(duì)于搞硬件或者IoT方向的人這塊值得盯住。6.2 部署不是一次性的動(dòng)作我的幾個(gè)經(jīng)驗(yàn)維度我在實(shí)際項(xiàng)目里體會(huì)最深的一點(diǎn)是TFLite集成不是一次性的轉(zhuǎn)換動(dòng)作而是持續(xù)調(diào)優(yōu)的過(guò)程。轉(zhuǎn)換、量化、部署、測(cè)速、再調(diào)整這五個(gè)步驟需要反復(fù)循環(huán)。別指望第一次轉(zhuǎn)換出來(lái)的模型就能達(dá)到最佳效果先把鏈路跑通再一步步壓體積、提速度這才是最穩(wěn)妥的節(jié)奏。量化參數(shù)、線程數(shù)、委托方式每一個(gè)都要拿實(shí)測(cè)數(shù)據(jù)說(shuō)話而不是憑感覺(jué)配置。6.3 一個(gè)很實(shí)用的小習(xí)慣端側(cè)日志與線上監(jiān)控最后分享一個(gè)實(shí)操里的小技巧在端側(cè)推理時(shí)把每次推理的耗時(shí)、置信度最大值、類別標(biāo)簽寫進(jìn)日志里配合線上數(shù)據(jù)埋點(diǎn)能幫你盡早發(fā)現(xiàn)模型在真實(shí)設(shè)備上的表現(xiàn)異常。我就靠這招在某個(gè)項(xiàng)目上線后第三天抓到了輸入圖像方向旋轉(zhuǎn)導(dǎo)致的精度問(wèn)題。當(dāng)時(shí)模型本身完全正常純粹是預(yù)處理時(shí)EXIF方向信息沒(méi)處理。部署這件事錯(cuò)的地方往往不在模型而在模型周圍的環(huán)境。把日志做細(xì)排查問(wèn)題的速度會(huì)快上很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
美欧日韩国产成人在战| 草逼大片| 久久婷青青草原| 99er免费在线观看| 97人人干。| 五月丁香六月综合激情无码软件亮点| 色碰干| 99噜噜| 91久久| www.五月天婷婷| 婷婷综合网在线| 香蕉久久av一区二区三区 | 丁香五月色色婷| 久久精品性爱| 婷婷丁香五月亚洲欧美| 亚洲六月婷婷| 91久久久久久| 岛囯综合激情网| 亚洲精品大片| 99rewww| 这里只有精品96| 五月丁香六月婷婷综合| 亚洲五月天色| 4399精品一区二区| 91精品91久久久中77777| 日韩a热| 激情操逼婷婷| 色五月综合激情| 色婷婷视频| 色综合久久久无码中文字幕999| 人妻VideOssS人妻高清| 色五月婷婷婷婷婷婷婷婷婷婷| 色99在线| 五月丁香五月婷婷| 五月婷婷狠天天色综合| 手机旧版看人妻1025| 97热视频| 五月丁香在线综合| 丁香五月 综合| 五月综合人妻| 能看的av网站| 激情综合五月婷婷| 色五月激情综合| 激情99热| 天天成人丁香美女AV| 99草视频在线观看| www久久久久久久久久久| 婷婷五月天六月丁香| 久久久久久久久久8888| 伊人久久大香| 影音先锋91在线资源站| 丁香婷婷基地| 日日爽夜夜爽| 色婷婷六月精品| 色婷婷综合成人| 天天操天天插| 激情AV| 激情五月天婷婷视频| 碰97久久| 九月大香蕉| 狼人久草| 丁香成人五月天| 自拍盗摄 另类| 久久机热这里只有精品免费视频| 五月婷婷七月丁香| 色九月综合| 丁香五月六月综合激情| 91综合国免费久入| 亚洲婷婷五月天| 南京搡BBBB搡BBBB| 国产欧美婷婷| 久久人人九九| 婷婷伊人75| 天天爽天天日天天舔| 久久婷五月| 日本9区视频| 99免费在线视频| 日日干日日| 婷婷丁香激情五月| www..com色爱| 在线VA视频| 色丁香五月天| 久久色五月| 国产精品男人AV不卡| 狠狠狠狠狠干| 九月婷婷综合| 日韩另类| 九九aV| 久热9| 91日本在线观看| 99热这里只有精品10| 天天爽天天爽夜夜爽| 色色COm| 五月天停婷基地| 操操啪| 99久久九九视频| 丁香9月婷婷| 99操中文视频| 五月亭亭狠狠| 操操操B| 九九色大香蕉| 综合久久人妻| 青青草伊人婷婷| 99精品久久久久| 色色婷五月天| 色婷婷久久| www九九免费视频| 色色五月天丁香婷婷| 色五月无码| 99国产精品久久久久久久久久久| 五月四色激情| 亚洲综合婷婷| 风流少妇A片一区二区蜜桃| 99热人人操人人操| 婷婷日日天天| 中文字幕免费高清电视剧| 懂色av蜜臀av粉嫩av永陈冠希| 五月婷婷激情刺激| 婷色五月| 伊人久久婷婷| 婷婷综合在线| 中文字幕永久免费| 激情久久综合| 99久久精品色老| 亚洲亚洲永久无码777777| 91狠狠色| 国产成人av在线| 天天夜夜爽| 色五月成人| 丁香久月婷| 色日本网| 欧美人人超级碰| 开心婷婷五月花| 色婷婷大香蕉| 九九热99re8热免费观看 | 丁香六月五月天| 专区无日本视频高清8| 玖玖婷婷色五月| www色婷婷com| 在线天堂9| 大香蕉啪啪啪| 日本颜色视频人人爱| 丁香六月婷婷激情| 色婷婷操逼| 97碰| 欧美经典片免费观看大全| 成人精品视频99在线观看免费| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 91九色PORNY中文啦| 丁香五月婷婷婷桃花影院| 国产九九一区二区三区| 99碰碰| 思思99精品视频在线观看| 五月丁香狠狠爱婷婷综合| 丁香欧美| 日本在线视频www色| 麻豆科斗777| 99热这里只有精品50| 免费播放99性爱视频| 思思热视频| 性热视频99精品| 另类天堂| 99国产97在线,| 丁香五月婷婷亚洲色图| 我要色综合五月婷婷| 久久色五月天综合网| 五月天丁香婷| 婷婷综合中文| 色综合久久88色综合天天99| 69er小视频| 狠狠xx| 伊人狠狠干| 九九热免费视频| 六月丁香婷婷天堂| 六月激情丁香一道本7777| 九九热在线精品| 永久免费一区二区三区| 五月深爱网| 五月天婷婷色综合| 婷婷性爱| 成人综合AV| 性色播| 六月丁香色婷婷| 97久久久久| 五月开心播播网| 日韩成人综合| 日日爽日日操| 大香蕉久久久久| 精品人妻伦九区久久AAA片| YW无码| 在线婷婷| 深爱五月激情五月| 亚洲乱码日产精品BD| 99久久亚洲国产| 久久精品国产色| www.五月丁香| 色五月丁香五| 干亚洲天堂| 丁香五月六月综合欧美| 日本二级毛片二级毛片| 久久五月视频| 五月婷婷色影院| 五月天六月色| 97日本操| 婷婷五月天va| 夜夜骑夜夜操| 91久久精品无码一区二区三区| 五月青青草综合| 91视频一起草| 日本精品干| 99色色最新视频| 91精品久久久久久| 五月久久婷婷天堂视频| 五月婷婷说| 激情五月综合亚洲另类| 内射综合网| 九九精品视频在线观看| 人人艹艹艹| 超碰大香蕉网| 久久婷婷啪啪视频| 99久久视频| 激情五月婷婷综合色播小说| 无码人妻少妇色欲AV一区二区| 久久精品综合色| 欧美成人精品老美女噜噜噜| 久久婷婷丁香花综合网| 五月丁香好婷婷姑娘综合网| 五月天精品| 99玖玖在线视频| 久热网站| 草久私拍| 五月五婷婷| 亚洲欧美在线观看| 影音先锋男士资源网一区| 99色这里| 久热久| 无码啪啪| 丁香六月综合激情| 天天干,天天舔| 97色啪| 国产操逼视频网站| 中文AV网站| 99热国产在线| 日本欧美国产| 丁香五月停停av| 婷婷五月天激情综合深爱| 丁香久久| 五月激情久久综合| 色吧婷婷五月亚洲| 狠狠搞亚洲| 97一区二区| 婷婷 亚洲图片 丁香| 色丁香久久| 99热精品在线播放| 免费AV播放| 九九99在线免费在线观看视频| 91九色视频在线观看| 美女91一起草| 色色色99| 婷婷在线观看五月天在线视频| 六月丁香激情网| 亚洲网视屏| 成人在线精品| 丁香六月婷婷开心| 亚洲精品久久久久久久久久飞鱼| 激情五月五月五月婷婷| 日本A片一区| 五月婷婷天| 九九热99在线视频| 97超碰在线免费观看| 啪啪黄页网| 99久久99久久| 色欲色欲久久宗合网| 久久这里只有精品无码| 国产综合A片| 色吧五月婷婷| 亚洲黄色精品| 中文字幕丰满孑伦无码专区| 天天夜夜操| 欧美三级大片AA在线看| 色五月欧美| 日韩一级A片黄色| 26uuu精品国产| 狠狠擼综合| 1024国产在线| 久久五月丁香| 97在线精品| 色五月婷婷五月天| 五月婷婷 激情五月| se婷97| 91se在线观看| 99国产小视频2013| 亚洲午夜国产成人电影VA国产欧…| 久久五月天激情| 超碰在线综合| 青草青草视频2免费观看| 蜜桃五月天色| 久久婷婷色综合| 综合网激情| 六月婷婷色宗合| 色色六月| 26UUU精品一区二区| sewuyue第四色| 亚洲性视频| 婷婷五月丁香av网站| 最新高清无码专区| 天天爽天天| 日本a片网址| 婷婷五月丁香综合网| 亚洲婷婷五月天激情| 99re视频在线播放| www.久99| 色婷婷综合视频| 婷婷激情综合网| 国内久久久精品99| 色色色色色色综合网| 精品久久99码| 色天天久婷婷| 六月丁香大香蕉| 国产偷人爽久久久久久老妇APP| 亚洲欧州色情在线观看| 99久久丝| 99免费在线视频| www九九热| 五月天激情AV| 九九热只有这里是精品| 激情图片99| 亚洲激情综合| 亚洲成人AV在线播放| 丁香色播五月天| 97热这里精品在线视频| 91九色超碰| 伊人干综合| 国语精品探花| 色婷婷五月天激情在线播放| 亚洲乱码在线观看| 婷婷五月激情在线| 日日夜夜爽| 色色色激情| 婷久久久| 亚洲亚洲人成综合网络| 影音先锋一区二区三区| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 538在线精品| 五月婷婷综合色啪| 久久久激情视频| 精品视频网| 久久思思热| 五月丁香色婷婷色| 色婷婷裸体色性在线| 婷婷在线观看五月天在线视频| 狠干综合| 极品五月天| 国精产品一区一区三区免费视频| 东北婷婷五月天| 六月天婷婷| 久久综合激情五月天| 97色婷| 婷婷综合色图| 99热这里只有精品3| 婷婷五月天com| 另类视频一区| 97在线刺激| 丁香五月ⅤA久久久| 人妻熟女一区二区AV| 九九aV| 久草热在线视频| 99热精这里只有精品| 五月天丁香六月综合| 欧美日韩成人高清在线| 色吊丝中文字幕| 激情综合网激情五月丁香五月俺也去| WWW.国产| 亚洲精品白浆高清久久久久久| 99热精品中文字幕| 激情五月天婷婷| 偷拍91九色| 色欲色香综合网| 精品久久久久久久人妻| 婷婷五月天激情AV影院| 天干天天干天天天天天| 色色网站观看| 国产AV成人精品| 日本乱子人伦在线视频| 婷婷五月天综合网| 青青青在线视频国产| 五月丁香| 色色色色网| 六月婷婷色综合| 91男同| 99热这里只有精品1025| 超碰人人色| 日韩人妻在线观看| 久色网址| a在线观看| 五月综合久久| 亚洲成av人影院| 国产偷人爽久久久久久老妇APP| www.丁香五月| 中文字幕精品无码一区二区| 国内自拍97在线| 五月天婷婷色播综合在线| 色婷婷丁香五月| 中国女人做爰A片| AA片在线观看视频在线播放| 婷婷色五月大香蕉在线| 婷婷丁香五月综合久久| 天堂五月婷婷| 91久久久久久| 日日想日日夜日日操| 丁香婷婷免费| 丁香六月无码| 五月丁香婷婷深深爱| 射久久丁香五月| 99精品在线观看视频| 成人片在线播放| 九九热在线观看视频| 99热在线播放| 伊久大香蕉| www.婷婷五月天,com| 亚洲在线成人| 99在线观看视频| 日韩色色色色色| 婷婷六月色丁香视频在线观看| 五月激情综合五月| 99国产这里只有精品| 老司机日日夜夜青草| www.婷婷| 开心五月综合激情综合五月| 天天婷婷综合亚洲亚洲| 天天肏夜夜肏| 麻豆AV一区二区三区| 九九婷| 丁香五月婷婷亚洲另类| 日日骑夜夜撸| 五月激情网络| 啊V视频在线观看| 日日夜夜天天| 婷婷激情啪啪| 高清无码.com| 激情VA视频| 婷婷五月天黄色| 色99在线| 午夜丁香综合婷婷| 久久久久久草黄色片AV在线观看 | 婷婷丁香18| a色婷婷| 激情五月天黄色小说| 呦呦视频无码播放| 九九色综合网| 日韩中文字幕| 久久婷五月综合| 96人人操人人操人人| 日本久久爱| 色五月婷婷av| 夜色爱爱亚洲| 華人性愛AV在線| 夜夜爽天天日| 99精品综合| 九色视频九色九色91jiuseshipin| 玖玖精品婷婷| 99在线看片| 久久久久激情网| 裸睡玩奶头(高H)| 超碰在线91| 精品久久久91久久影视网| 97日本在线| 六月丁香基地| 婷婷九月亚洲| 超碰2021| 99在线观看免费精品视频| 99热6这里只有精品| 九九99精品视频在线观看| 日本色色影片| 国产日产成人亚洲欧美国产VA| 亚洲激情97五月天| 激情第四色| 久色88| 深爱开心激情网| 伊人婷婷综合| 激情综合另类| 激情五月无码| 99久久激情视频| 99伊人婷婷在线| 我要色综合五月婷婷| 婷婷久久99| 97操碰人免费| 五月丁香六月色情网欧美| 狠狠人妻色综合| 26uuu成人网| 另类色视频| 九九热re99re6在线精品| 蜜桃婷婷丁香综合久久开心亚洲| 开心六月丁香五月婷婷| 色婷操逼| 色吊丝永久访问网址| 新激情五月天色播| 99在线精品免费视频| 色五月婷婷av| 久久hd| 99久久久精品| 激情五月天色婷婷综合| 久久人妻熟女一区二区| 综合五月天亚洲婷婷| 五月丁香 啪啪| 激情久久久久久| 丁香婷婷综合色五月激情国产基地| 日日爽日日操| 丁香六月婷婷| 天天综合色丁香| AV在线大香蕉| 久一网站| 丁香五月六月婷婷综合| 色婷婷久久视屏| 久久久久久久合一狠狠做深爱| 精国产品一区二区三区A片| 久久九九网| 操逼三区| 99久久www| 丁香五月欧美| 国产AV不卡福利| 激情小说视频图片| 久久一伦| 激情五月激情综合网| 91九色在线观看免费| 午夜国产精品AV在线播放| 粉嫩AV久久一区二区三区| 天天色天天色天天色天天色天天色天天色| 亚洲最大视频| 五月色婷婷在线观看| 日本三级日本三级99| 欧美色99| 久久婷婷五月天| 4399在线日本A片| 日韩综合久久| 99re免费精品视频| 99视频久久| 丁香六月开心| 五月丁香影院| 99色看| 激情综合五月丁香六月婷婷| 亚洲色激情| 久久艹网| 五月色丁香| 99色干| 99热精品中文字幕| 91热er| 免费看成人AA片无码视频吃奶| 色欲丁香久久| 99精品手机在线视频| 亚洲AV色婷婷人禽五月天| 九 九九九AV| 五月婷视频| 色色色com| 99热只有精品在线播放| 天堂成人A片永久免费网站| 丁香激情六月天婷婷| 色婷婷综合久久| 久久成人人妻| 91婷婷色 | 99久久国产宗和精品1上映| 做爰丰满少妇1313| 婷婷精品综合| 色噜噜狠狠色综合成人网| 色欲久久综合| 四虎婷婷五月天| 丁香婷婷五月天成人| 五月天婷婷激情在线色图| 五月丁香网站| 91操人视频| 午夜无码精品色综合久久| 久热精品在看| 日韩AAAAA| 六月丁香五月激情网| 久久天堂女人| 超碰九色| 亚洲中文乱字字幕线在永久| 黄色毛片精品| 99热这里只有精品在线观看| 一级A片天天操夜夜操| 五月天婷婷色色首页| 97干视频| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 色狠狠综合| 青柠影视免费高清电视剧| 天天碰夜夜爽| 丁香六月婷婷激情综合| 婷婷丁香五月社区亚洲| 99碰碰| 五月婷婷影视| 激情五月天视频| 五月婷婷在线观看| 色999五月色| 婷婷97色| www.99视频| 五月色俺婷婷| 丁香五月婷婷色| 伊人大综合| 激情五月婷| 九九热思思热| 91色在线/日韩| 国产AV影片| 激情久久肏屄视频| 丁香五月天啪啪激情综合网| 狠狠色婷婷777| 五月天婷婷丁香成人网| 99综合| 婷婷五月花西瓜| 91碰碰| 4438全国最大视频成人网站在线观看| 色色色99| 国产avapp 网| 思思久热6| 五月6香色婷婷视频| 色婷婷精| 天天干天天做| 天堂久久精品| 激情5月婷婷| 五月天六月丁香| 97碰成超视频免费视频| 天堂婷婷综合| 五月综合久久| 色婷婷亚洲| 人人摸人人干人人做| 激情五月深爱五月观看| www.sebowuyue| 色青青电影色五月| 色婷视频| 欧美熟女99| 婷婷五月天成人小说| 国产欧美性成人精品午夜| 99综合久久| 99久热这里只有精品| 六月丁香婷婷色综合| 91精品无码| 五月色网| 性爱久久| 国产无套精品一区二区| 亚洲AAAA网| 九九热99re8热免费观看| 久久婷婷五月天激情| 亚洲超碰中文字幕| 九九99九九精品免费 | 婷婷综合性爱网| 中文字幕在线日亚洲9| 国产免费一区二区三州老师F1F1| 婷婷综合精品视频97| 五月丁香激情综合欧美| 激情五月图| 欧美精品99久久久| 婷婷五月丁香六月| 五月天婷婷基地综合网| 国产免费av在线| 日本在线观看aaa 99| 色五月婷婷7777| 欧美交换配乱吟粗大25P| www.91色| 五月婷丁香| 婷婷永久在线| 二色AV| 五月丁香啪啪啪综合网| 91视频一起草| 大香蕉久艹| 97碰免费视频在线| 五月天久久久| 婷婷久久五月天| 99无码视频| 开心五月婷婷激情| 九九碰九九爱97超碰| 殴美日比视频| 婷婷99狠狠| 日本色婷婷| 另类视频一区| 婷婷狠狠操| 久草热在线视频| 97综合在线| 人妻久久久| 久9视频| 六月色婷婷| 国产美女无遮挡裸体毛片A片| 67194国产| 少妇性BBB搡BBB爽爽爽视頻 | 亚洲激情97五月天| 五月婷婷真爱激情网| 夜夜躁爽日| 狠狠干在线| 91avse| 亚洲日日日| 99热这里只有精品1998| www夜夜操comwww| 丁香五月香蕉| 久久婷婷五月综合激情国产| 丁香五月激情在线| 色色色色热| 久热伊人| 天天色月| 色五月97| 91超级碰在线视频| 99在线观看免费精品视频| 99久99久| 色色丁香婷婷| 大香蕉院线| 91久久五月天| 国产成人精品一区二三区熟女在线| 中文字幕婷婷五月天在线观看| 无码橾| 深爱激情五月天| 丁香五月天啪啪a日本| 五月丁香另类图片| 婷婷丁香六月天| www.射伊蕉婷婷| 丁香六月激情综合网| 婷婷丁香五月天熟女丝袜| 99热这里只有精品3| 一级A片天天操夜夜操| 91色逼| 亚洲AV影片在线观看| 色欲五月婷婷| 色欲五月婷婷| wWwCom夜操wwW| 爆乳熟女-区二区三区| 99热这里只有精品1| 黄色笑话深爱激情网丁香五月婷婷啪啪啪啪啪 | 97人人操人人爽| 婷婷在线日韩综合| 99久视频| 伊人色综合久久久| 九九久久视频| 婷婷色五月综合丁香| 婷色视频| 五月美女婷婷风骚| 激情五月天色播| 久久久精品人妻| anquye五月| 97亚洲色 torrent magnet| 黄页免费一级视频懂色| 成人做爰黄A片免费看直播室男男| 激情黄色小说色五月| 丁香五月天91| 我爱大香蕉| 97操视频| 狠狠色综合网| 十月丁香九月婷婷综合| 色婷婷婷婷成人网| 五月开心婷婷网| 九色无码| 久久婷婷六月综合综合| 激情涩播| 年轻的妺妺伦理HD中文| 26uuu| 色婷婷综合亚洲| 亚洲欧美国产高清vA在线播放| 五月色无码| 91超级碰| 大香蕉五月天婷婷| 日本一级一片免费视频| 9久9久| 婷婷五月天大香蕉在线视频观看| 91人久| 日韩精品AV一区二区三区| 婷婷五月丁香基地| 四虎成人精品永久免费AV九九| 99热这里只有精品在线观看| 丁香五月a| 99久久九九| 天天开心AV色综合婷婷五月天| 亚洲色婷婷色| 只有精品视频在线观看| jiujiu热在线视频| 区区久久妻| 日韩黄黄| 激情综合网五月在线播放| 婷婷在线综合| 日韩AV片| 99久久九九| 久久亚洲婷婷| 日本色频| 精品五月丁香| 色婷婷五月丁香在线观看| 久久黄色网扯| 丁香五月激情综合网激情五月| 日日干综合| 婷婷美女精品视频| xxx综合在线| 思思热在线视频99| 思思国产99| www,天天干| 日日噜噜夜夜狠狠久久丁香五月| 丁香婷婷六月| 色狠狠综合网| 色五月在线播放| 亚洲超碰在线| 日本不卡高字幕在线2019| 国产精品久久久爽爽爽麻豆色哟哟| 色135综合网| 天堂在线伊久| 五月婷婷九九久久| 丁香激情四射| 精a品a视a频| 色色五月婷婷网| 91丨九色丨首页| 日本在线wwww| 五月婷婷色影院| 99热成人永久免费| 婷婷综合网在线| 婷婷激情五月综合丁| 色五月天成人| 狠狠丁香| 成人做爰高潮A片免费视频| WWW、99热| 日韩一级网站| 综合激情婷婷| 日批在线看| 五月天婷婷激情在线色图| 97干欧美| 国产精品第一国产精品| 东北熟女高潮99综合99| 69久久99精品久久久久婷婷| 久久网站免费亚洲| 无码人妻一区二区三区免费九色| 色婷婷亚洲婷婷在线观看| 国产超碰在线| 亚洲六月色| 亚洲色人妻| 深爱丁香网| 婷婷五月天精品| 色爱五月天| 日韩不卡123| 日韩综合天堂| 色婷婷激情视频| 91色色色18| 麻豆AV一区二区三区| 变天就操逼婷婷五月| 五月婷婷色色色| 99惹精品视频| 97操操操| 婷婷六月香| 99黄色性生活| 天天干com| 五月天婷婷视频| 伊人久久丁香狠狠婷婷综合香蕉| 亚洲av日韩无码| 玖玖资源网站最新站| www.99日本| BBWCUCKOLD精品熟妇| 九九综舍久久| www激情网| 中文无码婷婷| 991自拍视频| 婷婷,五月天,丁香,第一| 久久视频这里99| 日本天天操| 香蕉伊人综合| 人妻肉射免费观看| AAA久久| 91久久18| 婷婷五月天无码视频| 精品久热69| 激情五月天天| 激情图片亚洲| 久热免费视频| 操精品9| 六月激情婷婷色| 久久WW| 97操碰在线97| 日韩无码人妻一区二区三区综合| 9久久婷婷国产综合精品性色| 5月丁香综合图区| 激情五月天黄色小说| 色五月播五月| 日本三级第一页| 思思热99er在线视频| 五月婷婷三级| 婷婷之玖玖| 人人看人人草人人摸| 色噜噜狠狠色综无码久久合欧美| 亚洲乱码w在线观看| 99r这里| 嫩草AV久久伊人妇女超级A| VA色婷婷| 色色五月天丁香婷婷| 激情婷婷五月综合| 丁香五月欧美色综合| 99色在线| 色色自拍视频网站| www.久久久.com| 99热在线看片| 五月激情六月综合| 四色五月婷婷| 婷婷娱乐丁香综合网| 午夜少妇在线观看视频| 国产精品久久99| 丁香色五月 97干| 五月丁香花视频| 五月婷婷激情综合| 67久久| 久久婷婷丁香六月天| 最新高清无码专区| 激情丁香淫荡婷婷| 日日日日日| 激情综合网络插| 色婷婷综合网| 人妻爽爽爽久久久久久久久| 天天干天干| 99久久婷婷| 五月丁香人妻| 色情婷婷| 色婷婷色99国产综合精品| 香蕉久久国产AV一区二区| 大香蕉五月丁香| 久久综合综合久久| 亚洲综合九九| 天天艹天天综合网| 五月天激情网站| 天天插综合在线| 婷婷五月综合激情| 天天日狠狠| 亚洲视频一区| 天天狠狠色| 嫩草视频。| 五月丁香六月在线| 亚洲欧美成人在线| www99热| 婷婷伊人网| 这里只精品| 欧美性生交XXXXX无码小说| 79成人网| 日本性视频| 色99网站| 色天使色婷婷| 亚洲成人五月天| wWwCom夜操wwW| 99精品成人无码A片观看金桔| 久久五月激情网| 久久久精品免费啪啪国| 色婷婷AV久久久久久久| 婷婷综合九月| 日韩999| 婷婷激情丁香五月天综合| 亚洲欧洲中文日韩久久AV乱码| 五月丁香婷婷综合网色欲| 色婷婷久久7777| 六月丁香中文字幕| 99re思思热在线视频| 精品一二三区久久AAA片| 五月天激情美女久久| 99碰在线视频| 另类视频一区| 午夜九九电影| 中文字幕第四色.999| 男人天堂99| 狠狠五月天婷婷| 久久久久久9热不雅视频| 久9无码视频| 开心深爱五月天| 成人AV片播放| 国产9色在线/日韩| 婷婷大美在线| 日韩 mm 不卡| 婷婷久久五月天| 操逼123网| 丁香五月婷婷五月| 超碰av在线| 色久五月天| 国产操碰| 9热成人在线视频| 人妻aV在线| 国产夫妻操逼内射视频| 青青久久91| 深爱激情五月婷婷| 婷婷丁香激情五月天色色| 色婷天天| 又大又粗九一在线| 五月色丁香| 玖玖精品视频99| 91婷婷色| 中文字幕婷婷9月天| 久久草中文日韩欧美| 激情五月综合ì香亚洲| 久婷久婷激情肉| 搡BBBB搡BBB搡五十| 日日干日日| 天天色综合色| 欧美乱码国产一级A片| 国色天香成人网| 成人av在线网址| www.五月天。com| 久久综合干| 97操碰日本女人| 操一区| 9热在线观看| 先锋av性爱成人电影| 丁香激情网| 激情婷婷在线| 丁香五月激情啪啪| 91ncm视频| 亚洲av成人一区二区电影在线| 亚洲操B| 天天色天天日天天舔| 婷婷综合成人五月天| 婷婷无码视频| 九月大香蕉| 操操操97| 九九在线精品| 999激情视频| 丁香六月婷婷激情| 嫩草综合网| 丁香五月电影| 色综合视频| 天天肏天天舔AV| 亚洲乱码日产精品BD| AV在线资源| 99久久网站| A久网| 五月激情婷婷色| 丁香五月激情宗合| 成人五月天丁香| 日韩五月婷婷| 亚洲岛国电影| 成人无码髙潮喷水A片| 噜噜在线| 思思热在线播放| 香蕉视频91| 夜夜撸夜夜骑| 激情五月丁香六月| 丁香婷婷在线| 五月丁香欧美综合免费视频| 翔田千里aV中文字幕| 天天搞夜夜爽夜夜爽| 色射影院| 碰碰女| 日韩成人AV在线播放| 国产91九色| 9热在线视频| 丁香五月婷婷久久久| 亚洲岛国电影| 91精品91久久久久77777| 嫩草极品| 国产乱妇乱子在线播视频播放网站 | 热久久77777| 亚洲色9| 亚洲视频a| 九九这里只有精品在线视频| 狠狠色婷婷7777久| 人妻中文在线| 亚洲sesesese| www.久久| 久久久妻人人人| 婷婷五月天视| 热久久思思热思思| 色婷婷五月天激情久久| 狠狠色激情在线| 激情五月亚洲综合网| 亚洲 小说 欧美 激情 另类| 丁香五月宝贝激情网| 99re这里有精品手机在线| 人妻在线中文字幕久久| 五月天婷爱综合| www.五月丁香av| 婷婷五月天免费视频在线观看| 丁香六月激情综合啪啪| 激情开心五月天婷婷基地丁香社区| 另类五月激情| 99精品免费| 91丨九色丨熟女| 狠狠做婷婷| 丁香五月天堂| 少妇伦子伦精品无吗| 90色免费视频| 国产综合丁香五月天| 欧美三级黄色片久久| 99久久综合网| 99热在线里有精品| 岛国av电影网站| 婷婷涩涩五月天| 日韩在线视频网站| 99热这里只有精品中文字幕| 免费看欧美成人A片无码 | 亚洲色婷婷五月天| 午夜69成人做爰视频| 色域五月丁香| 色婷婷综合亚洲| 欧美欧盟性爱网| 五月夜丁香| 99热99热在线| 天天肏视频| 性做久久久久久久免费看| 午夜微拍福利| 色天使色婷婷| 丁香五月AV在线| 婷婷五月天天aV| 五月天伊人综合| 99色综合| 五月天堂六月丁香亚州中文字幕久久 | 五月香六月婷| 日韩黄色电影| 开心五月婷婷激情| Www.se.久久| 超碰在线观看99| 天天做天天要天天爽| jiZZdr| 99热这里是精品| www超碰com| 激情文学久久| 综合色综合| 欧美天堂久久| 亚洲愉拍99热成人精品| 久久9RE热视频精品98| 天天摸.天天mo| 五月激情久久| 天天日天天舔| 999精品久久久久久久| 色欲丁香| 丁香婷婷十月| 99精在线| 在线一起草av| 日韩色色网| 91人人爽久久涩噜噜噜| 99这里只有精品视频| 微拍92| 一起草无码视频| www,天天干| 婷婷精品| 99色精品| 天天干天天操天天上| 激情六月婷婷| 色啦啦视频| 97干欧美| 色五月综合婷婷| √天堂资源在线人妻熟女| 成人精品视频99在线观看免费| 人妖色AV色综合| 91人妻九色大屁股| 五月丁香啪啪啪综合网| 人人操人人爱丁香五月| 五月丁香婷婷色| 亚洲视频在线网| 狠狠色婷婷在线| 99这里只有精品| 超碰免费人| 婷婷五月精品中文字幕| 天天成人五月天| 国产67194| 97艹| 六月婷五月丁香| 91精品91久久久中77777| 玖色色综合| 婷婷综合网伊人| 大香蕉五月天| 少妇婷婷五月天| 99视频热| 色欲一区二区三区精品A片| 99噜噜| 激情五月天小说| 9精品久久999| 日日日,com| 丁香 久久| 婷婷国产五月天17c| 丁香五月婷婷亚洲另类| 狠狠做婷婷| www,setingting| 五月丁香天堂网婷婷| 99操视频| 日韩一级A片黄色| www.夜夜操.com| YW无码| 五月婷婷五月天亚洲无码| a在线观看| 国产激情综合| 8区视频在线| 日亚二欧美| 99亚洲无码| 五月激情四射网站| 亚洲综合丁香五月| 九九色热| 大香蕉手机视频| 婷婷性爱网| 狼人狠狠操| 六月婷婷综合激情| 亚洲色五月婷婷| 色五月婷婷色五月婷婷色五月婷婷| 激情综合网婷婷五夜| 26uuu激情五月天| 婷婷五月丁香激情色情| 天天综合网、天天综合色 | 久久综合站| 国产xxxxx在线观看| 七七九色| 在线观看996精品| 亚洲成人超碰| 激情五月天啪啪| 亚洲热视频| 色婷婷成人久久| 亚洲色99| 91丨九色丨老农村| 亚洲综合另类| 男女av免费看| 深爱激情五月婷婷| 九九综合五月欧美| 欧美色色色色色| www.yw色| 婷婷色六月| 五月婷婷激情久久| 91狠狠综合久久久| 99热最新精品| 六月丁香网| 99热网站在线观看| 丁香网五月天| 五月丁香花激情综合网| 91日在线视频| 色五月在线播放| AV成人在线播放| 婷婷激情综合网| 337p大胆噜噜噜噜噜91Av| 五月丁香啪| 婷婷六月插屄激情| 色五月激情图片| 久色激情| 亚洲色频| 激情伊人| 亚洲va综合va国产va中文| 极品人妻videosss人妻| 婷婷丁香91综合| 亚洲成人五月| 久久9视频欧美| 狠狠操狠狠| 五月天激情中文字幕| 97婷婷丁香五月综合| 91九色在线视频| 啪啪啪大香蕉| 日韩一本操| 久色欧美| 大香蕉免费9| 丁香五月综合| 久久人妻高清中文| 99干99| 丁香五月天之婷婷影院| 99热这里只有精品21| 67久久| 在线观看亚洲视频影院| 伍月婷丁香婷| 成人综合视频网址| 欧美日韩aaa| 久热只有这里有精品| 婷婷色色综合| 久色激情| 色婷婷五月天天天天天| 九月停停| 久9热| 思思w99| 玖玖五月丁香| 丁香六月婷婷| 色色亚洲五月天| 久久这里这里有精品免费视频| 色综合99无码| 99re热在线视频观看| 5月色亭亭视频| 琪琪色影音先锋| 色情综合网| 丁香在线视频| 人人草成人视频| 操b视频在线观看一区二区| 亚洲第一第二网站| 亚洲六月色| 变态另类9| 久久九网|