使用自定義技能訓練模型 === ###### tags: `Genie Install` 先使用官方提供thecatapi做測試。 1. 編寫自己的技能 運行初始化項目,會先在geniesdk中新增一個workdir資料夾,並將技能添加到workdir資料夾中。 技能目錄包含預先填充的package.json, manifest.tt,index.js文件 ``` ./init.sh --skill_name $YOUR_SKILL_NAME ``` ex: ``` ./init.sh --skill_name com.thecatapi ``` 資料夾中會自動生成以下內容  2. 建立數據集 參考:https://wiki.almond.stanford.edu/en/genie-guide/test-natural-language-support.md ``` genie sample-synthetic-data --output ~/output.tsv --thingpedia /home/user/genie-sdk/workdir/com.TaiwanStock/manifest.tt --constants ~/const.tsv --device com.TaiwanStock --function get_price ``` ``` Parameters: --output Output file path (in tsv file) --thingpedia Path to the skill manifest.tt file --constants Path to the skill constants (sample values) TSV file --device Skill name --function A specific function name in your skill device ``` 在/home/user/底下沒有 const.tsv 檔案  解決--> 新增const.tsv檔 ```vim /home/user/const.tsv``` 在output.tsv中會出現,下圖敘述  3. 下載Genie 團隊準備好的參數數據集 運行以下指令,從 workdir 下載準備好的數據集: ``` make parameter-datasets.tsv ``` 4. 合成數據集 在一台至少有 8 核的機器上,一個標準大小的數據集大約需要 2 個小時 和至少 30GB 的 RAM。 生成一個小數據集: ``` make subdatasets=1 target_pruning_size=25 max_turns=2 debug_level=2 datadir ``` 生成完整的數據集 ``` make datadir ``` 5. 訓練 將模型設置為模型的唯一識別符。默認情況下,模型稱為“1”。 模型保存在 everything/models/$YOUR_MODEL_NAME 中。 ``` make model=$YOUR_MODEL_NAME train-user ``` 遇到問題:未安裝genienlp  解決方法--> 1. 先更新pip3 ``` python3 -m pip install --upgrade pip ``` 2. 安裝genienlp ``` pip3 install genienlp ``` 若有安裝genienlp還是無法執行時,可能是檔案路徑未正確。 遇到問題-->  更改pathos版本 ``` python3 -m pip install pathos==0.2.8 ```  更改pydantic版本 ``` python3 -m pip install pydantic==1.9.2 ```  更改ray版本 ``` python3 -m pip install ray==1.5.0 ``` * 在訓練時若遇到下圖情形,則需至workdir中的Makefile更改參數 train_pretrained_model=facebook/bart-large * -->改為train_pretrained_model=facebook/bart-base    6. 部屬 將您的工作目錄更改為“genie-sdk”。 然後,啟動一個 NL 模型服務器來解析用戶輸入: ``` ./run-nlu-server.sh --nlu_model $YOUR_MODEL_NAME ``` 設置$YOUR_MODEL_NAME為您訓練的模型的名稱,默認為1. 然後在單獨的選項卡中,啟動代理。 ``` ./run-genie.sh --nlp_server local ``` 在 [http://127.0.0.1:3000] 可以嘗試該技能! 7. 遠端存取genie 您可以遠程訪問您的 Genie 代理。在本地運行端口轉發以通過此命令在本地計算機上訪問代理:`ssh $YOUR_SERVER_ADDRESS -NfL 3000:localhost:3000.` * SSH指令 `ssh user@10.110.14.87 -NfL 3000:localhost:3000`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up