El contenido del conjunto de problemas para la tarea 1 está aquí con el PDF de la tarea también incluido en este repositorio como tarea1.pdf
Esto usa Python 2.7. Ejecute los ejercicios usando python q{1,2,3}_{problem}.py, básicamente ejecute cualquier código pasando el archivo al intérprete de Python.
Algunas de las funciones tienen pruebas, pero aún faltan otras.
Creo que hay una gran parte de q3_word2vec.py que puede beneficiarse de las pruebas de cordura.
Esta tarea se beneficia del uso de GPU, por lo que hay instrucciones sobre cómo activar una instancia puntual en AWS. Utilizo una instancia p2.8xlarge que a partir del 4 de junio cuesta $ 7,20 por hora. La instancia puntual permite ejecutar este mismo tipo de instancia por 1,3 dólares la hora.
Para realizar una solicitud para una instancia puntual, ejecute ./aws_setup/setup.sh
actualmente, esto supone mi computadora portátil y usa un perfil de AWS que configuré para mi cuenta personal de AWS. Tendría que cambiar las cosas y probablemente esto no funcione tan bien porque la AMI de AWS que estoy usando está en mi propia cuenta. Esto no viaja bien en este momento.
config.json es un archivo guardado de mi primera solicitud de instancia puntual utilizando la consola de administración de AWS. Los scripts config.json y setup.sh guardados en la carpeta aws_setup me facilitan mucho volver a solicitar una instancia la próxima vez que quiera ejecutar una capacitación.
Una vez que la instancia esté activa, habrá una carpeta cs224 en la carpeta de inicio. git pull origin master
y tendrás el código más reciente. Ejecutar con python q3_RNNLM.py
./aws_setup contiene scripts de soporte para crear infraestructura de instancia puntual de AWS
source ./aws_setup/commands.sh para tener algunos comandos básicos que realicen: describe
el entorno setup
una nueva instancia puntual login
en la instancia, terminate
cuando haya terminado;
Cuando ejecute N varias instancias, elija en cuál iniciar sesión proporcionando un número de instancia de 0 a N. ./aws_setup/login.sh 0
para iniciar sesión en la primera instancia
Las mejores ejecuciones se entrenaron en 90 minutos en p2.xlarge y tuvieron una precisión de .745 en la validación.
Actualizar el tamaño de inserción hasta 2800 desde los 35 iniciales hizo poco por cambiar la precisión resultante.
La regularización l2 fue, como debería ser, muy importante para obtener buenos resultados de validación.
Las precisiones del conjunto de entrenamiento y del conjunto de validación todavía estaban muy separadas, la precisión del conjunto de entrenamiento frecuentemente estaría por encima del %92
Todos los resultados de la ejecución de la Tarea 3 y los escritos individuales se encuentran en asignación3/salida y asignación3/README.md.