We have made some changes totrain.py
andimplementation.py
inhw2sent
, in order to allow dropout to be used in training but not in testing.The function template in
train.py
has been modified to accept an additional argument, calleddropout_keep_prob
, which has been added as an input place-holder.If you are using dropout during training (which is recommended), then you should use this place-holder to set the output keep probability. For example (in
define_graph(glove_embeddings_arr)
)lstmCell = tf.contrib.rnn.DropoutWrapper(cell=lstmCell, output_keep_prob=dropout_keep_prob)You should then feed this value to your model through thefeed_dict
argument intrain.py
, e.g.sess.run(optimizer, {input_data: batch_data, labels: batch_labels, keep_prob:0.75})Line 40 intrain.py
has been updated to allow you to do this.If you are not using dropout, you do not need to make changes to your model. However, all students need to ensure that their final model is trained with this latest version of
train.py
- in particular, that the function signature inimplementation.py
includes thedropout_keep_prob
return value.
Yes, the new deadline for submitting Stage 2 (hw2sent) is midnight on Sunday 15 October. The deadline for submitting Stage 1 (hw2) remains at midnight on Sunday 8 October.
You must explicitly provide a name argument to the ops, not just call the variable holding the op the correct name. If you do not do this we cannot identify the output ops in your submitted graph and cannot test your solution. The model checker at submission will alert you if you have not done this - if you are passing all the tests at submission you don't need to make any changes. e.g.accuracy = tf.reduce_mean(PREVIOUS_OPS_LOGIC, name="accuracy")
Try ssh-ing directly into the williams server:ssh user@williams.cse.unsw.edu.au
The files for this assignment are too large for the Web interface to handle. You will need to copy the files to your CSE account, and then submit them using the give command from the command line.
There is a limit of 100MB for hw2sent. If your model is larger than 90MB, it's almost certainly because you are storing multiple copies of the glove embeddings array in your graph. Check for calls to tf.cast() etc. and try to remove them.