Project 2 FAQ

This page was last updated: Friday, 13-Oct-2017 20:48:07 AEDT by blair@cse.unsw.edu.au

  1. What changes have been made to the supplied files? Do we need to change anything? How can we handle dropout?
    We have made some changes to train.py and implementation.py in hw2sent, 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, called dropout_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 the feed_dict argument in train.py, e.g.
    sess.run(optimizer, {input_data: batch_data, labels: batch_labels, keep_prob:0.75})
    
    Line 40 in train.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 in implementation.py includes the dropout_keep_prob return value.

  2. Has the submission deadline for Stage 2 been extended?
    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.
  3. Do we need to explicitly name the ops?
    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")
    
  4. I'm getting a bad_alloc when testing on cse machines?
    Try ssh-ing directly into the williams server:
    ssh user@williams.cse.unsw.edu.au
    
  5. I'm trying to submit with the Web interface, but the file won't upload?
    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.
  6. My model is too large to submit, even 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.

Back to Project 2 | Back to the main page