Skip to content
A comprehensive and up-to-date TensorFlow 2.0 tutorial, with practical use-cases in mind
Jupyter Notebook
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
part_01_tf_architecture
part_02_tensors_and_basic_ops
part_03_model_design_apis
part_04_model_training_apis
part_05_tf_data
part_06_saving_and_restoring_models
part_07_Transfer_Learning_and_Tensorhub
resources
README.md
tf_2_0_tutorial_template.ipynb

README.md

TensorFlow 2.0 Tutorial

TensorFlow is an open-source, highly flexible, and very extensible machine learning library, maintained mainly by Google, that can be used in a wide variety of applications, from Deep Learning research to high-performance AI services. Version 2.0 of this framework brought a user-friendlier and cleaner API accompanied by higher performance. At IUST, we are creating a set tutorial to be taught in our Deep Learning courses. These tutorials include comprehensive and in-depth materials on how to use TensorFlow 2 in practice. Our goal is to provide opinionated tutorials in which we point out the best practices for each use case. Moreover, these materials are created to be used in self-study or taught as a mini-course.

How are these tutorials different from other materials on the Internet?

First, we aim to approach TensorFlow 2.0 from a practical point of view so that you can start using the framework as soon as possible. Secondly, we try to include and use a wide range of information such as TF team talks, API references, and practical experiences in the making of these materials to make it as comprehensive as possible. Thus, the user can enjoy an all-in-one package. Finally, tutorials are organized in a simple-to-complex manner that can benefit many newcomers. Moreover, the assignments that come with these tutorials make them a ready-to-use option in use in special (short) courses.

Table of content

Contributing

This set of tutorials is considered as an open-source community-driven project. Therefore, all kinds of contributions such as fix, new content, or new section are welcome. To have a consistent and coherent matertial, we have designed a set of rules and guides for contributions.

Types of contributions:

  • Content correction: If you find some of the parts are not correct (in any levels), please open an issue and describe it, and if possible, provide a suggestion to fix that.
  • Adding contents (and completing the current ones ): To find what sections and parts are incomplete, you need to visit each part's page. There is a suggested table of content in each section. You may want to complete the tutorial base on that or even recommend a new list of materials. Please open an issue and inform others that you are working on the tutorial. Finally, after you are ready, open a pull request.
  • Adding a new part: If you think this tutorial needs a new section, please open an issue and discuss that with others.

The structure of a single tutorial part

Each part has at least three different segments. The first segment is the tutorial itself, which is basically a Jupyter notebook; the presentation slides for that part is the second segment; and finally, the solutions for the exercises is the last segment.

1. Noteboook

The notebook should be the primary source of educational material. Hence, you may consider completing it first. First, It should be as comprehensive as possible. Moreover, and more importantly, it must be wholly runnable, and the result of each runnable cell should be provided underneath. Additionally, you may consider designing a handful of exercises so that the students in the class can practice them during the session. Finally, all notebooks have to follow the template here.

2. Slides

Since Jupyter notebooks are not particularly useful in classes, the presentation slides are created to fulfill this goal. Ideally, each set of slides should be created from its corresponding notebook. Please consider designing slides that sequentially teach the TensorFlow code. That is, you should avoid showing a piece of code only in a single slide. To have coherent slides, we have created a Google Slides template, which you can access it from here.

3. Solutions

The answer to the exercises that you created in the main notebook should be provided in this segment. Please reference the questions using numbers and also include the exercise itself in the solutions file. This component follows the same template as that of the main notebook.

You can’t perform that action at this time.