Tensorflow: API recommendation for convolutional neural net?

Viewed 292

I have recently been looking into using TensorFlow for creating a custom CNN, and have been attempting to use the tutorials for insight on the most straightforward way to design, train, and deploy an image classification network.


The two approaches that have stood out to me are:

TF Layers API: This API seems to provide the most straightforward and intuitive way of defining a network, layer by layer. That said, the way that they train and evaluate the model uses the tf.learn.Estimator class, which seems a bit limiting in that the network is strictly trained using the Estimator's fit() method and validated using the evaluate() method. This tutorial does not even use a tf.Session.

Low-level API: Defining a network seems a bit more tedious. Also, training and deploying is done in a very manual fashion, but it appears to offer more control.

For a TensorFlow novice looking to implement and train relatively basic CNN's who is looking for the ability to tinker with network architecture and basic hyperparameter tuning, what would be the best API to get familiar with?

Also, if there are any useful tutorials or examples using your preferred interface, links would be greatly appreciated.

2 Answers
Related