作業 1 的習題集內容位於此處,作業的 PDF 也包含在此儲存庫中,名稱為 assignment1.pdf
這裡使用Python 2.7。使用 python q{1,2,3}_{problem}.py 運行練習,基本上透過將檔案傳遞給 python 解釋器來執行任何程式碼。
有些功能已經過測試,但有些功能仍然缺失。
我認為 q3_word2vec.py 的很大一部分可以從健全性測試中受益。
此作業受益於使用 GPU,因此有有關在 AWS 上啟動 Spot 執行個體的說明。我使用 p2.8xlarge 實例,截至 6 月 4 日,每小時 7.20 美元。 Spot 實例可以以每小時 1.3 美元的價格運行相同的實例類型。
若要要求現貨實例,請執行./aws_setup/setup.sh
目前,這假設我的筆記型電腦並使用我為個人 AWS 帳戶設定的 AWS 設定檔。您需要進行一些更改,但這可能不會順利進行,因為我正在使用的 AWS AMI 在我自己的帳戶中。目前這進展不太順利。
config.json 是我使用 AWS 管理控制台的第一個現貨實例請求中儲存的檔案。 aws_setup 資料夾中儲存的 config.json 和 setup.sh 腳本讓我下次想要執行訓練時可以更輕鬆地重新請求實例。
實例啟動後,主資料夾中將出現一個 cs224 資料夾。 git pull origin master
你就擁有了最新的程式碼。使用python q3_RNNLM.py
執行
./aws_setup 包含用於建立 AWS Spot 實例基礎架構的支援腳本
source ./aws_setup/commands.sh 以執行一些基本命令: describe
環境setup
新的 Spot 實例login
實例 完成後terminate
它;
當執行 N 個多個實例時,透過提供 0-N 的實例編號來選擇登入哪個實例。 ./aws_setup/login.sh 0
登入第一個實例
最佳執行在 p2.xlarge 上訓練了 90 分鐘,驗證準確度為 0.745。
將嵌入大小從起始的 35 個更新到 2800 對最終的準確性幾乎沒有改變。
l2 正則化對於獲得良好的驗證結果應該非常重要。
訓練集和驗證集準確率仍然相差很大,訓練集準確率經常高於 %92
執行作業 3 和單獨寫入的所有結果都在 作業 3/output 和 作業 3/README.md 中