代碼實例,基于+Flask部署MNIST手寫數(shù)字識別至本地web,希望對您有所幫助。
文章目錄
*
–
–
–
–
–
; 環(huán)境說明
操作系統(tǒng): 10
CUDA 版本為: 10.0
cudnn 版本為: 7.6.5
版本為: 3.6.13
-gpu 版本為:1.13.1
keras 版本為:2.2.4
flask版本為:2.0.3
注意CUDA、cudnn、、版本之間的匹配
文件結構
:
:
Title: AI常用框架和工具丨11. 基于(Keras)+Flask部署MNIST手寫數(shù)字識別至本地web
相關閱讀Title: -i18n / 國際化 / - / – (5)-i18n / 國際化
? 國際化可以方便我們以一種語言(英語)編寫程序中的字符串,但是可以向不同國家的人提供對應的語言翻譯,那么語言如何實現(xiàn)國際化呢? 內(nèi)置模塊為模塊和應用提供了國際化(i18n)和本地化支持,它既支持GNU-的消息翻譯,又提供了更適合基于類的程序消息翻譯接口。
一、 - (內(nèi)置模塊)1.1 生成翻譯
GNU- 提供C代碼的國際化翻譯本地化常用軟件,GNU-制定了翻譯文件的格式,提供一個工具集(一系列命令)來解析文件。用戶可以從官網(wǎng)下載壓縮包解壓,Linux用戶通過 yum 完成安裝。完成國際化的一般步驟:
? GNU-只提供C風格字符串(雙引號)的識別,對于特有的三引號和單引號那應該怎么辦呢?其實我們要提取和編譯也可以不用安裝工具,在安裝目錄下 /Tools/i18n 提供了這兩個工具(沒有可以在源碼中下載 py-i18n-tools),按照GNU-標準,.py 來掃描源碼生成 pot文件翻譯本地化常用軟件,.py來編譯pot文件生成 mo文件(有興趣的朋友可以閱讀了解下mo文件生成格式)。下面我們來使用-進行一下翻譯:
(1) 編寫源代碼 app.py
from gettext import translation
import os
root_dir = os.path.join(os.path.dirname(__file__), "i18n")
t = translation(domain="zh_CN", localedir=root_dir, languages=["zh"])
_ = t.gettext
c_str = _("Hello World")
py_str = _('Hello World, %s') % "app"
(2) 提取源代碼消息:
? 生成的pot文件格式頭由一對空msgid/組成,其后緊跟的一堆為文件的元信息,其中-Type用于說明文件格式及編碼,中文請改為=UTF-8。
python pygettext.py app.py
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2021-11-27 23:37+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

"Generated-By: pygettext.py 1.5\n"
msgid "Hello World"
msgstr ""
(3) 編譯pot文件:
修改messesges.pot文件的msgstr為對應中文翻譯
messages.pot -> messages.po
python msgfmt.py messages.po
?
注意 文件結構
app.py

|
i18n/zh/LC_MESSAGES/zh_CN.mo
|
messages.po
|
messages.mo
?
1.2 模塊詳解:
mo文件位置拼接: /[x]//.mo
(1) find函數(shù):(2) 函數(shù):(3) (4)
:
: 沒有夢想的咸魚~
Title: -i18n / 國際化 / - / – (5)