Notes taken while working through the 'Deep MNIST for Experts' tutorial.

  • 'Placeholders' in TensorFlow feel like a nicer abstraction than 'symbols' in Theano.
  • Automatic tensor shape checking is a great idea. In fact, any kind of optional static analysis of your computation graph is a great idea.
  • cross_entropy = -tf.reduce_sum(y_*tf.log(y)): sweet
  • train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy): sweet
  • What does it mean for a tensor to have -1 for a shape dimension?
  • Dropout seems easier to apply than in Lasagne - no 'deterministic' flag equivalent needed when predicting.
  • Running the conv net example on my Macbook (where only the CPU version of TensorFlow is available) is wicked slow (dude). Not unexpected I guess.

All in all, Tensorflow feels lot like Theano + Lasagne, but with a much cleaner API. I'll need to try it out on the lab's GPU machine before I can say anything about speed, but if it's quick enough, I'd consider switching over.