一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一款通過AI技術(shù)自動(dòng)批改數(shù)學(xué)作業(yè)的APP

Tensorflowers ? 來源:未知 ? 作者:李倩 ? 2018-11-19 15:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

愛作業(yè)是一款通過 AI 技術(shù)自動(dòng)批改數(shù)學(xué)作業(yè)的 APP,上線一年來已經(jīng)積累超過千萬(wàn)用戶, 幫助大量的老師和家長(zhǎng)節(jié)約時(shí)間,提高效率。

在愛作業(yè) APP 里面有個(gè)功能叫 “口算同步練”,我們希望提供給小朋友一種輕量的方便的方法可以直接在手機(jī)上鞏固訓(xùn)練口算。如下圖所示:

識(shí)別在屏幕上手寫的筆跡,我們最早使用的方法是追蹤書寫軌跡,這也是比較傳統(tǒng)和經(jīng)典的方法,這種方法依賴于規(guī)則,不需要大量的訓(xùn)練數(shù)據(jù)。 但是經(jīng)過我們?cè)囼?yàn),這種方法對(duì)于少量數(shù)字效果還不錯(cuò),對(duì)于位數(shù)比較多的數(shù)字,特別是數(shù)字之間還存在連寫,或者書寫順序不夠標(biāo)準(zhǔn)的情況, 識(shí)別效果就差強(qiáng)人意了。

這時(shí)候我們想到要使用 Deep Learning 來解決問題,然后我們需要解決訓(xùn)練數(shù)據(jù),模型, 和移動(dòng)端部署的問題。

首先是訓(xùn)練數(shù)據(jù),這是深度學(xué)習(xí)繞不開的問題。為此,我們專門開發(fā)了一個(gè)小工具(iOS / Android),讓我們的標(biāo)注人員可以方便的生成訓(xùn)練數(shù)據(jù)。這個(gè)工具會(huì)隨機(jī)生成一些數(shù)字(包含小數(shù)點(diǎn),分?jǐn)?shù)),然后標(biāo)注人員在屏幕中書寫提示的數(shù)字,然后可以方便的保存到我們的服務(wù)器。 我們就這樣收集到了第一批原始數(shù)據(jù)大概有 5000張訓(xùn)練圖片左右。

然后是模型。由于模型需要在移動(dòng)端運(yùn)行,所以不管是圖片輸入大小和模型本身,都需要相對(duì)精簡(jiǎn)?;谪Q屏的比例,我們最終采用了將所有圖片預(yù)處理成 60x100(高x寬) 的大小。模型的整體方案是一個(gè) seq2seq 的模型,這個(gè)框架最早是 Google 用于解決 NLP 相關(guān)的問題, 我們可以把它做一些調(diào)整來做圖像 OCR。

首先我們需要一個(gè)生成 feature 的基礎(chǔ)模型,最終我們采用了 MobileNet。 MobileNet 模型的核心就是將原本標(biāo)準(zhǔn)的卷積操作因式分解成一個(gè) depthwise convolution 和一個(gè) 1*1 的卷積(文中叫 pointwise convolution)操作。簡(jiǎn)單講就是將原來一個(gè)卷積層分成兩個(gè)卷積層,其中前面一個(gè)卷積層的每個(gè) filter 都只跟 input 的每個(gè) channel 進(jìn)行卷積,然后后面一個(gè)卷積層則負(fù)責(zé) combining,即將上一層卷積的結(jié)果進(jìn)行合并。MobileNet 可以在基本保證準(zhǔn)確率的前提下大大減少計(jì)算時(shí)間和參數(shù)數(shù)量。 正如這個(gè)命名,我們相信用這個(gè)作為基礎(chǔ)網(wǎng)絡(luò)可以在移動(dòng)端有不錯(cuò)的表現(xiàn), 并且這個(gè)模型在 TensorFlow 的 model zoo 中有標(biāo)準(zhǔn)實(shí)現(xiàn),并且提供了預(yù)訓(xùn)練模型。豐富的模型實(shí)現(xiàn)也是我們當(dāng)初選擇用 TensorFlow 來實(shí)現(xiàn)的重要原因之一。

在得到圖片 feature 以后,我們通過 LSTMRNN 進(jìn)行一個(gè)標(biāo)準(zhǔn)的 Encoder->Decoder 過程,得益于 TensorFlow 的豐富實(shí)現(xiàn),這整個(gè)過程只要調(diào)用 TensorFlow 中 seq2seq 相關(guān)接口就可以輕松實(shí)現(xiàn)。 不過 seq2seq 的接口在 TensorFlow1.0 以后有一些接口上的變化,我們使用了更新以后的接口。

接下來是如何把模型放到客戶端去運(yùn)行,我們?cè)谶@里面臨諸多選擇。 整體方案來看,我們需要選擇使用 TensorFlow Mobile 還是 TensorFlow Lite,另外在 iOS 端,我們需要考慮是否要將模型轉(zhuǎn)為 iOS 的 CoreML 模型。由于 CoreML 只從 iOS 11 開始支持,我們很快否掉了這個(gè)選項(xiàng)。我們?cè)谧鲞@個(gè)功能的時(shí)候,TensorFlow 剛發(fā)布了 1.4(目前已經(jīng) 1.12 了),Lite 還是一個(gè)全新的東西, 最大的問題是對(duì)于各種 ops 支持不夠好,而且當(dāng)時(shí)官方網(wǎng)站也是推薦在生產(chǎn)環(huán)境中使用 Mobile 版本, 所以盡管 Lite 有著各種優(yōu)點(diǎn), 我們還是選擇了 Mobile。

TensorFlow Mobile 的文檔也算是相對(duì)豐富的,我們?cè)诓渴鸬倪^程中并沒有遇到太大的障礙。有一點(diǎn)需要注意的是,需要使用 print_selective_registration_header 這個(gè)小工具來分析模型中真正使用到的算子,從而大大減少生成的運(yùn)行庫(kù)的大小。

就這樣我們第一個(gè)版本順利上線并穩(wěn)定運(yùn)行,但我們依然關(guān)注著 Lite 的動(dòng)態(tài)。 在經(jīng)過一些考慮后,特別是在 2018 年 10 月的谷歌開發(fā)者大會(huì)上聽到了更多 TensorFlow Lite 的介紹,我們決定用Lite 替換掉 Mobile 版本,主要基于以下幾個(gè)考慮:

更小的運(yùn)行庫(kù)體積, 通過 TensorFlow Lite 生成的運(yùn)行庫(kù)體積很小,去掉了很多不必要的依賴。比如模型采用新的更輕量級(jí) FlatBuffers 格式,而之前使用的 protobuf 需要很多的依賴庫(kù)。同時(shí) TensorFlow Lite 以更加輕量級(jí)的方式實(shí)現(xiàn)了原來 TensorFlow 中的核心算子, 也有效降低了運(yùn)行庫(kù)的體積。

更快的運(yùn)行速度。 TensorFlow Lite 很多核心算子是專門為移動(dòng)平臺(tái)優(yōu)化過的,同時(shí)通過NNAPI 能夠透明的支持 GPU 加速,在一些老設(shè)備上能夠自動(dòng)回滾到 CPU 計(jì)算。

TensorFlow Lite 的模型量化功能,將模型量化到 int8,在幾乎不怎么損失計(jì)算精度的情況下把模型變?yōu)樵瓉淼?1/4 大小。

但是我們?nèi)匀挥龅搅撕芏嗬щy。主要是:

TensorFlow Lite 尚不支持 controlflow,意味著 TensorFlow 新 seq2seq 接口中的 dynamic_decode不能正確導(dǎo)出執(zhí)行。

TensorFlow Lite 中對(duì)于 LSTM 的支持不夠完善,比如 forgetbias 參數(shù)并不支持。

我們所使用的部分 operators 在 TensorFlow Lite 中還不支持,比如 GatherTree等等。

在 TensorFlow Lite 中實(shí)現(xiàn) controlflow 并不是件容易的事情,并不能直接通過 customop 來實(shí)現(xiàn),最終我們把動(dòng)態(tài)解碼變成了靜態(tài)展開,稍微損失了一些性能但是解決了這個(gè)問題。 對(duì)于 forget bias 的問題, 我們?nèi)∏傻脑趨?shù)恢復(fù)的時(shí)候把 forgetbias 加在 LSTMforgetgate 的 bias 上,這樣就不用修改 TensorFlow Lite 的代碼了。對(duì)于其他問題,都可以通過 customop 來實(shí)現(xiàn),相對(duì)容易一些。

最終我們通過 toco 把 graphpb 導(dǎo)出成 TensorFlow Lite 格式,接下來就是要集成到手機(jī)上運(yùn)行。在這一步上我們并沒有遇到太多阻礙。因?yàn)橛辛酥凹?TensorFlowMobile 的經(jīng)驗(yàn),我們很快完成了集成。 我們?cè)诰唧w實(shí)現(xiàn)的時(shí)候把識(shí)別接口做了封裝,這樣在我們從 TensorFlowMobile 遷移到 TensorFlowLite 的時(shí)候,客戶端開發(fā)的同事幾乎不需要改動(dòng)代碼就可以使用新的接口。

在完成 TensorFlow Mobile 到 TensorFlow Lite 的遷移以后,我們單次 inference 的速度提高了20%,模型大小減少了 75%,可以說是非常有吸引力的。

隨著手機(jī)端計(jì)算能力的不斷增強(qiáng),越來越多的深度學(xué)習(xí)模型可以在手機(jī)端運(yùn)行。 目前TensorFlow Lite 也在快速開發(fā)迭代中,相信 TensorFlow Lite 會(huì)在更多實(shí)踐中越來越好。

感謝 TensorFlow Lite 團(tuán)隊(duì)在我們的開發(fā)過程中給予的支持,特別是顧仁民和劉仁杰兩位技術(shù)專家給我們提供了很多有幫助的資料和參考,希望將來有更多的合作機(jī)會(huì)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5561

    瀏覽量

    122794
  • ai技術(shù)
    +關(guān)注

    關(guān)注

    1

    文章

    1308

    瀏覽量

    25155

原文標(biāo)題:愛作業(yè)口算同步練,TensorFlow Lite 實(shí)踐

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    關(guān)于鴻蒙App上架中“AI文本生成模塊的資質(zhì)證明文件”的情況說明

    檢查結(jié)果為“通過”或?qū)徍藸顟B(tài)為“審核通過”。 那么對(duì)于這個(gè)問題,我也是嘗試去解決……這里分享下我了解到的情況和方法 首先,這個(gè)政策雖然說是針對(duì)AI文本生成模塊,但實(shí)際上,針對(duì)的是所有
    發(fā)表于 06-30 18:37

    AlphaEvolve:一款基于Gemini的編程Agent,用于設(shè)計(jì)高級(jí)算法

    構(gòu)思創(chuàng)新理念。如今,Google 進(jìn)步擴(kuò)展這些能力,將其應(yīng)用于解決數(shù)學(xué)基礎(chǔ)領(lǐng)域和現(xiàn)代計(jì)算中高度復(fù)雜的難題。 AlphaEvolve 是一款由大語(yǔ)言模型驅(qū)動(dòng)的進(jìn)化式編程代理,致力于通用算法的發(fā)現(xiàn)與優(yōu)化。該平臺(tái)將 Gemini 模
    的頭像 發(fā)表于 05-19 11:19 ?979次閱讀
    AlphaEvolve:<b class='flag-5'>一款</b>基于Gemini的編程Agent,用于設(shè)計(jì)高級(jí)算法

    APP自動(dòng)化測(cè)試框架

    APP自動(dòng)化測(cè)試框架是套結(jié)合工具鏈、設(shè)計(jì)模式和技術(shù)規(guī)范的集成解決方案。以下是基于主流技術(shù)實(shí)踐的核心要點(diǎn)總結(jié):
    的頭像 發(fā)表于 05-07 07:35 ?142次閱讀
    <b class='flag-5'>APP</b><b class='flag-5'>自動(dòng)</b>化測(cè)試框架

    純小白,尋找一款直會(huì)發(fā)射信號(hào)的藍(lán)牙

    首先感謝你點(diǎn)進(jìn)來,我來說說我的使用場(chǎng)景。 我有輛可以遠(yuǎn)程聯(lián)網(wǎng)控制的小車,我本身有點(diǎn)健忘,鑰匙基本都是放車上,用手機(jī)app解鎖。前幾天接觸到一款自動(dòng)化軟件,可以
    發(fā)表于 03-27 21:58

    行業(yè)集結(jié):共同定制 RK3566 集成 AI 眼鏡的前沿 AR 方案

    高性能、低功耗和多功能集成等優(yōu)勢(shì),適用于多種智能場(chǎng)景。設(shè)簡(jiǎn)約,佩戴輕巧,AI 眼鏡不僅是一款智能設(shè)備,更是彰顯品味的時(shí)尚單品。通過豐富的硬件和軟件支持,可以快速實(shí)現(xiàn)產(chǎn)品化,滿足市場(chǎng)需求。 在
    發(fā)表于 02-20 18:44

    AI開發(fā)板】正點(diǎn)原子K230D BOX開發(fā)板來了!一款性能強(qiáng)悍且小巧便攜的AI開發(fā)板!

    AI開發(fā)板】正點(diǎn)原子K230D BOX開發(fā)板來了!一款性能強(qiáng)悍且小巧便攜的AI開發(fā)板! 正點(diǎn)原子K230D BOX是一款性能強(qiáng)悍且小巧便攜的A
    發(fā)表于 02-18 16:56

    AI技術(shù)與PLC編程融合

    如何將AI技術(shù)融入PLC編程軟件
    發(fā)表于 02-14 15:55

    AI+PCB 初創(chuàng)公司

    ,旨在通過自動(dòng)化布局、布線和堆疊定義,顯著縮短設(shè)計(jì)周期。2024年2月,Quilter宣布完成1000萬(wàn)美元的A輪融資,資金將用于進(jìn)步開發(fā)其AI
    的頭像 發(fā)表于 02-08 15:09 ?2510次閱讀

    DeepSeek最新AI模型現(xiàn)已登陸IBM watsonx.ai平臺(tái)

    DeepSeek-R1 是一款先進(jìn)的 AI 模型,以卓越的推理能力著稱,可廣泛應(yīng)用于編程、規(guī)劃和數(shù)學(xué)問題求解等領(lǐng)域,從而驅(qū)動(dòng)智能代理應(yīng)用、代碼生成,調(diào)試支持及優(yōu)化建議、解決復(fù)雜數(shù)學(xué)問題
    的頭像 發(fā)表于 02-08 09:21 ?768次閱讀

    基于瑞薩FPB-RA4E2智能床頭燈項(xiàng)目——4 APP制作

    App Inventor是一款由Google開發(fā)的在線移動(dòng)應(yīng)用開發(fā)平臺(tái),主要用于開發(fā)Android應(yīng)用程序。它通過可視化編程方式,允許用戶使用拖放和連接編程塊來創(chuàng)建應(yīng)用程序,無需編寫復(fù)雜代碼。
    發(fā)表于 11-29 22:38

    蘋果App Store或引入AI技術(shù),用以自動(dòng)總結(jié)用戶評(píng)價(jià)

     10月30日訊,科技博客9to5Mac的最新報(bào)道揭示了蘋果公司即將對(duì)App Store進(jìn)行的重要革新。此次更新的亮點(diǎn)在于引入人工智能技術(shù),旨在通過自動(dòng)匯總用戶評(píng)價(jià)并突出顯示“最常見客
    的頭像 發(fā)表于 10-30 14:45 ?1158次閱讀

    NORDIC nPM1100 是一款集成式電源管理

    ,具有可配置的雙模式輸出。nPM1100是一款極其緊湊的PMIC器件,專為空間受限的應(yīng)用而設(shè)計(jì),這些應(yīng)用使用小型鋰離子電池或鋰聚合物電池。它與所有nRF52和nRF53系列SoC兼容,支持通過USB以高達(dá)
    發(fā)表于 10-24 11:34

    如果設(shè)計(jì)一款桌面的機(jī)器玩具,最吸引人的外觀與功能要有哪些?

    初步設(shè)想制作如下其中一款,有感興趣的朋友可以幫提提意見。 A一款圓敦敦的音響狀的“個(gè)人日程助手”,具備番茄鬧鐘、音樂播放、減壓交互、語(yǔ)言對(duì)話、工作日?qǐng)?bào)生成。 B一款迷你瓦利機(jī)器人,有
    發(fā)表于 10-19 18:25

    AI for Science:人工智能驅(qū)動(dòng)科學(xué)創(chuàng)新》第二章AI for Science的技術(shù)支撐學(xué)習(xí)心得

    for Science的技術(shù)支撐”的學(xué)習(xí)心得,可以從以下幾個(gè)方面進(jìn)行歸納和總結(jié): 1. 技術(shù)基礎(chǔ)的深入理解 在閱讀第二章的過程中,我對(duì)于AI for Science所需的技術(shù)基礎(chǔ)有了
    發(fā)表于 10-14 09:16

    亞馬遜正測(cè)試一款融入AI芯片的新型服務(wù)器設(shè)計(jì)

    在得克薩斯州奧斯汀的秘密芯片實(shí)驗(yàn)室中,亞馬遜正緊鑼密鼓地測(cè)試一款高度保密的新型服務(wù)器設(shè)計(jì),該設(shè)計(jì)融入了亞馬遜自主研發(fā)的AI芯片,旨在與業(yè)界巨頭英偉達(dá)展開正面競(jìng)爭(zhēng)。這舉措由亞馬遜云業(yè)務(wù)(AWS)旗下
    的頭像 發(fā)表于 07-26 14:21 ?923次閱讀