当前位置:网站首页>TensorFlow 2 quickstart for beginners
TensorFlow 2 quickstart for beginners
2022-06-24 06:02:00 【XianxinMao】
This short introduction uses Keras to:
- Build a neural network that classifies images.
- Train this neural network.
- And, finally, evaluate the accuracy of the model.
import tensorflow as tf
Load and prepare the MNIST dataset. Convert the samples from integers to floating-point numbers:
mnist = tf.keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train / 255.0, x_test / 255.0
Build the tf.keras.Sequential model by stacking layers. Choose an optimizer and loss function for training:
model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(128, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10) ])
For each example the model returns a vector of "logits" or "log-odds" scores, one for each class.
predictions = model(x_train[:1]).numpy() predictions
The tf.nn.softmax function converts these logits to "probabilities" for each class:
tf.nn.softmax(predictions).numpy()
Note: It is possible to bake this tf.nn.softmax in as the activation function for the last layer of the network. While this can make the model output more directly interpretable, this approach is discouraged as it's impossible to provide an exact and numerically stable loss calculation for all models when using a softmax output.
The losses.SparseCategoricalCrossentropy loss takes a vector of logits and a True index and returns a scalar loss for each example.
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
This loss is equal to the negative log probability of the true class: It is zero if the model is sure of the correct class.
This untrained model gives probabilities close to random (1/10 for each class), so the initial loss should be close to -tf.math.log(1/10) ~= 2.3
loss_fn(y_train[:1], predictions).numpy()
model.compile(optimizer='adam',
loss=loss_fn,
metrics=['accuracy'])The Model.fit method adjusts the model parameters to minimize the loss:
model.fit(x_train, y_train, epochs=5)
The Model.evaluate method checks the models performance, usually on a "Validation-set" or "Test-set".
model.evaluate(x_test, y_test, verbose=2)
The image classifier is now trained to ~98% accuracy on this dataset. To learn more, read the TensorFlow tutorials.
If you want your model to return a probability, you can wrap the trained model, and attach the softmax to it:
probability_model = tf.keras.Sequential([ model, tf.keras.layers.Softmax() ])
probability_model(x_test[:5])
边栏推荐
- Koa middleware implementation
- Smart Logistics: with the advent of aiot era, how to get through the "last mile" of logistics?
- Less network card filters
- Some common IPv6 problems!
- PNAs: development of white matter pathways in human brain during the second and third trimester of pregnancy
- Is IPFs a new national infrastructure project? What impact will the new infrastructure have on IPFs?
- How to set the secondary domain name of the website? What should I pay attention to when setting the domain name?
- Precautions for selecting high frequency signal generator
- System of test development - create test virtual machine on demand
- New tea: reshuffle, transformation, merger and acquisition
猜你喜欢
随机推荐
ZABBIX enterprise distributed monitoring
Typora software installation
Tencent (host security) was listed in the market guide for cloud workload protection platform released by Gartner
Solution to the 39th weekly game of acwing
Net domain name? Net domain name?
Optimized the search function of broken websites
The development and construction of live broadcast app, and the source code of live broadcast app involves all aspects
Tomorrow, we will help farmers make their debut together!
Increase the dynamic port range to solve TCPIP alarm
Adobe international certification wants to design! Understanding the style guide is your best introduction design
Clickhouse alter table execution process
What is the difference between a white box test and a black box test
Tesseract-OCR helloworld
How to solve domain name redirection? How to avoid such problems?
How to apply for a domain name? Why should domain names be filed in advance?
My two-year persistence is worth it!
How to do domain name resolution? What does domain name resolution mean?
Several relations to be clarified in the process of digital transformation: stock and increment
Micro build low code supports Excel to import data source
How do fixed assets intensive enterprises manage fixed assets effectively?


