您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“EfficientNet-lite是什么意思”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“EfficientNet-lite是什么意思”這篇文章吧。
3.17日谷歌在 GitHub 與 TFHub 上同步發布了 EfficientNet-lite,EfficientNet的端側版本,運行在 TensorFlow Lite 上,針對端側 CPU、GPU 和 EdgeTPU 做了優化。EfficientNet-lite提供五個不同版本(EfficientNet-lite0~4),讓用戶能夠根據自己的應用場景和資源情況在延遲、參數量和精度之間做選擇。
EfficientNet-Lite4 是計算量最大的版本,在 ImageNet上的top-1準確率達到了80.4%,同時能夠以30ms/image的速度運行在 Pixel 4 的 CPU 上。EfficientNet-lite 具體的精度和延時、參數的關系如下圖所示。可見其已經把MobileNet V2,ResNet 50,Inception v4等模型遠遠甩在背后。
EfficientNet-lite進行了一系列的優化:
量化。定點運算的速度要比浮點運算快很多,在移動設備算力有限的場景下,量化必不可少。但量化使用了定點數,表示范圍相對于浮點數小很多,必然存在精度的損失。借助 TensorFlow Lite 中提供的訓練后量化流程來對模型進行量化處理,盡可能地降低了對準確率的影響。通過量化,模型大小減少為1/4,推理速度提升近2倍。
EfficientNet-lite0 浮點模型float32與int8量化版本在模型尺寸、精度及時延的對比:
結構和算子優化。去除 squeeze-and-excitation 結構,因為目前在端側設備上支持欠佳。
使用 Relu6替代swish 激活函數,swish激活復雜度高,并且對量化有不利影響。
放縮模型尺寸時固定 stem 與 head 模塊,減少放縮后模型的大小與計算量。
對于用戶個性化的數據集,建議使用 TensorFlow Lite Model Maker,在已有 TensorFlow 模型上使用遷移學習。TensorFlow Lite Model Maker 支持很多模型結構,包括 MobileNetV2 和所有5個版本的 EfficientNet-Lite。以下為使用 EfficientNet-lite0 進行鮮花分類的代碼,只要五行。
# Load your custom dataset
data = ImageClassifierDataLoader.from_folder(flower_path)
train_data, test_data = data.split(0.9)# Customize the pre-trained TensorFlow model
model = image_classifier.create(train_data, model_spec=efficienetnet_lite0_spec)# Evaluate the model
loss, accuracy = model.evaluate(test_data)# Export as TensorFlow Lite model.
model.export('image_classifier.tflite', 'image_labels.txt')
通過改變 model_spec 參數,可以嘗試不同的模型。模型建立好以后,可以將其構建為移動端 app,把自己個性化的模型存放在 asset 文件夾。
以上是“EfficientNet-lite是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。