O conteúdo do conjunto de problemas para a tarefa 1 está aqui com o PDF da tarefa também incluído neste repositório como tarefa1.pdf
Isso usa python 2.7. Execute os exercícios usando python q{1,2,3}_{problem}.py, basicamente execute qualquer código passando o arquivo para o interpretador python.
Algumas das funcionalidades foram testadas, mas algumas ainda estão faltando.
Acho que há uma grande parte do q3_word2vec.py que pode se beneficiar dos testes de sanidade.
Esta tarefa se beneficia do uso de GPUs, portanto, há instruções sobre como criar uma instância spot na AWS. Eu uso uma instância p2.8xlarge que em 04 de junho custava US$ 7,20 por hora. A instância spot torna possível executar esse mesmo tipo de instância por US$ 1,3 por hora.
Para fazer uma solicitação para uma instância spot, execute ./aws_setup/setup.sh
atualmente, isso pressupõe meu laptop e usa um perfil da AWS que eu configurei para minha conta pessoal da AWS. Você precisaria mudar as coisas e isso provavelmente não acontecerá tão bem porque a AWS AMI que estou usando está em minha própria conta. Isso não viaja bem no momento.
config.json é um arquivo salvo da minha primeira solicitação de instância spot usando o console de gerenciamento da AWS. Os scripts config.json e setup.sh salvos na pasta aws_setup tornam muito mais fácil solicitar novamente uma instância na próxima vez que eu quiser realizar um treinamento.
Assim que a instância estiver ativa, haverá uma pasta cs224 na pasta inicial. git pull origin master
e você terá o código mais recente. Execute com python q3_RNNLM.py
./aws_setup contém scripts de suporte para criação de infraestrutura de instância spot da AWS
source ./aws_setup/commands.sh para ter alguns comandos básicos que executam: describe
o ambiente setup
uma nova instância spot login
na instância terminate
-la quando terminar;
Ao executar N múltiplas instâncias, escolha em qual delas fazer login, fornecendo um número de instância de 0 a N. ./aws_setup/login.sh 0
para fazer login na primeira instância
As melhores execuções foram treinadas em 90 minutos no p2.xlarge e tiveram precisão de 0,745 na validação.
Atualizar o tamanho de incorporação para 2.800 a partir dos 35 iniciais fez pouco para alterar a precisão resultante.
A regularização l2 foi como deveria ser super importante para obter bons resultados de validação.
As precisões do conjunto de treinamento e do conjunto de validação ainda estavam distantes, a precisão do conjunto de treinamento frequentemente estaria acima de 92%
Todos os resultados da execução da Tarefa 3 e das redações individuais estão em atribuição3/saída e atribuição3/README.md