skip to Main Content

Comet is now available natively within AWS SageMaker!

Learn More

Using TensorFlow in Comet

Photo by Alex Knight on Unsplash

Neural Networks are a subset of artificial intelligence, aiming at modeling the human brain through mathematical concepts. A neural network is composed of a series of interconnected nodes, or neurons, that process information. Nodes are organized in more or less complicated layers.

Neural networks can be used for a variety of tasks, such as pattern recognition and data classification. If the number of layers is greater than three, the neural network becomes a deep learning network. Deep learning can be used to improve the accuracy of predictions made by neural network algorithms. However, it is also time-consuming and resource-intensive.

TensorFlow is an open-source software library for training and deploying neural networks. It also provides a highly flexible framework for implementing deep learning models.

In this article, we will talk about how to integrate TensorFlow into CometComet is an online platform that allows you to monitor and log experiments. Its main advantage is that it simplifies the process of evaluating metrics such as system metrics, parameters, and other stats.

You can use Comet to build different experiments for the same project, and then compare each experiment’s performance and determine which configurations perform the best. You can also use Comet to share your results with other people across your team or business.

This article is organized as follows:

  • Building a model in TensorFlow
  • Showing results in Comet

Building a model in TensorFlow

TensorFlow is an open-source software library that allows developers to create and train neural networks. TensorFlow works by feeding data into a graph of nodes. The nodes then perform mathematical operations on the data and pass the results to the next node in the graph.

The MLOps difference? Visibility, reproducibility, and collaboration. Learn more about building effective ML teams with our free ebook.

To make TensorFlow work with Comet, you need to configure Comet to log the TensorFlow objects automatically. You can create a file, named .comet.config, and place it in the same directory as of your main script. The .comet.config file should contain the following configuration parameters:

[comet]
api_key=YOUR_API_KEY
project_name=YOUR_PROJECT
workspace=YOUR_WORKSPACE[comet_auto_log]
graph=True
histogram_weights=True
histogram_gradients=True
histogram_activations=True

In the comet_auto_log section, you should include all the elements that you want to log automatically in Comet. In the example above, we log graphs and three types of histograms.

Now we can start writing the code for our model. Firstly, we import the Comet library and then TensorFlow:

from comet_ml import Experiment
import tensorflow as tf

Then, we load the dataset. As an example, we use the Boston Housing dataset, available in the list of toy datasets provided by Keras:

from tensorflow import keras
from keras.datasets import boston_housing(train_data, train_targets), (test_data, test_targets) = boston_housing.load_data()

Now, we build the TensorFlow model for a regression task:

model = keras.models.Sequential([
  keras.layers.Flatten(),
  keras.layers.Dense(16, activation='relu'),
  keras.layers.Dense(5, activation='softmax')
])

We compile the model:

model.compile(
  optimizer='adam',
  loss='mse',
  metrics=['mae']
)

and we fit the model:

model.fit(
   train_data,
   train_targets,ÅΩ
   epochs=8,
   validation_data=(test_data, test_targets),
)

Please note that if you are writing your code in a notebook, you need to terminate the experiment:

experiment.end()

Showing results in Comet

Once the experiment is complete, you can see the results in Comet.

Under the Charts menu, you can see the produced graphs:

Image by Author

Produced graphs include:

  • Batch MAE and batch loss
  • Epoch duration
  • Loss
  • MAE
  • Validation loss and validation batch loss
  • Validation MAE and validation batch MAE

Under the “Histograms” section, you can find the logged histograms:

Image by Author

You can see the results of the full experiment at this link.

Summary

Congratulations! You have just tracked your TensorFlow model in Comet!

Integrating TensorFlow with Comet is a great way to streamline the process of monitoring and logging your experiments. By using Comet, you can easily compare the performance of different configurations and see which ones perform better. In addition, Comet makes it easy to share your results with others.

You can read more information on how to integrate Comet with TensorFlow in the Comet official documentation available at this link.

The code of the example described in this article is available at this link.

Happy coding! Happy Comet!

Angelica Lo Duca

Angelica Lo Duca

Back To Top