作业 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 和单独写入的所有结果都在 assignment3/output 和 assignment3/README.md 中