2. You get access to the internal connectivity graph. This means you can plot the model, for instance. This is great for debugging. Like this:pic.twitter.com/ZnG6ym9yei
Deep learning @google. Creator of Keras. Author of 'Deep Learning with Python'. Opinions are my own.
You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more
Add this Tweet to your website by copying the code below. Learn more
Add this video to your website by copying the code below. Learn more
By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.
| Country | Code | For customers of |
|---|---|---|
| United States | 40404 | (any) |
| Canada | 21212 | (any) |
| United Kingdom | 86444 | Vodafone, Orange, 3, O2 |
| Brazil | 40404 | Nextel, TIM |
| Haiti | 40404 | Digicel, Voila |
| Ireland | 51210 | Vodafone, O2 |
| India | 53000 | Bharti Airtel, Videocon, Reliance |
| Indonesia | 89887 | AXIS, 3, Telkomsel, Indosat, XL Axiata |
| Italy | 4880804 | Wind |
| 3424486444 | Vodafone | |
| » See SMS short codes for other countries | ||
This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.
Hover over the profile pic and click the Following button to unfollow any account.
When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.
The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.
Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.
Get instant insight into what people are talking about now.
Follow more accounts to get instant updates about topics you care about.
See the latest conversations about any topic instantly.
Catch up instantly on the best stories happening as they unfold.
2. You get access to the internal connectivity graph. This means you can plot the model, for instance. This is great for debugging. Like this:pic.twitter.com/ZnG6ym9yei
Having access to internal nodes also means you can access an intermediate layer output and leverage it in a new model. This is a killer feature for feature extraction, fine-tuning, and ensembling. Let's add an extra output to the model above:pic.twitter.com/gCxafm21UF
3. The model is a data structure, not a piece of bytecode. This means it can be cleanly serialized and deserialized -- even across platforms. keras.Model.from_config(functional_model.get_config()) reconstructs the exact same model as the original.
If your model is a Python subclass, to serialize it you could either: a. Pickle the bytecode -- which it completely unsafe, won't work for production, and won't work across platforms
b. Save it as a SavedModel -- which is a form of one-way export (of the TF graph) and won't let you reconstruct the exact same Python object. A graph of layers is a data structure; defining and saving it as a data structure is the intuitive thing to do.
Many runtimes other than Python TensorFlow understand the Keras graph-of-layers format, such as TF.js, CoreML, DeepLearning4J... A high level, human-readable saving format is much easier to implement for third-party platforms.
A last advantage of the Functional API I haven't listed here is that it is much less verbose, because it is less redundant (no need to list/name each layer twice). Consider this subclassed VAE vs. an equivalent Functional model...pic.twitter.com/hkxVE8eXlZ
Note that you don't have to inline your Functional model definitions all the time -- complex models should be broken down into stateless functions (one function per architectural block). Here's an example of a Transformer for timeseries classification.pic.twitter.com/gBi4mO2FyT
That's it for this tweetorial. Feel free to chime in with your own takes on pros and cons of the Functional and subclassing approaches!
The functional API is always the route I take. Even lately, I’ve found myself using it over the Sequential API out of habit. Subclassing only whenever I need to implement custom functionality in the training or testing loops.
Same, I generally use the Functional API even for sequential-like models. By the way, you can actually use custom training/evaluation methods with Functional models, like this:pic.twitter.com/TJeUvgPphZ
Oh, interesting. This is exactly what I do, but since I’m subclassing Model I thought of it as Subclassing API and no longer Functional. Although it seems more like a combination of both.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.