Update lib versions and add pydot, fixes #29

main
Aurélien Geron 2022-09-22 19:14:01 +12:00
parent de0f184265
commit 79ce441212
21 changed files with 145 additions and 118 deletions

View File

@ -36,7 +36,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"Python 3.7 is required:" "This project requires Python 3.7 or above:"
] ]
}, },
{ {
@ -50,6 +50,7 @@
"outputs": [], "outputs": [],
"source": [ "source": [
"import sys\n", "import sys\n",
"\n",
"assert sys.version_info >= (3, 7)" "assert sys.version_info >= (3, 7)"
] ]
}, },
@ -57,7 +58,7 @@
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
"source": [ "source": [
"Make this notebook's output stable across runs:" "Scikit-Learn ≥1.0.1 is required:"
] ]
}, },
{ {
@ -66,27 +67,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"import numpy as np\n", "from packaging import version\n",
"\n",
"np.random.seed(42)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Scikit-Learn ≥1.0 is required:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -98,7 +82,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 4, "execution_count": 3,
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
@ -111,6 +95,24 @@
"plt.rc('ytick', labelsize=10)" "plt.rc('ytick', labelsize=10)"
] ]
}, },
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Make this notebook's output stable across runs:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"np.random.seed(42)"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"metadata": {}, "metadata": {},
@ -1713,7 +1715,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"metadata": { "metadata": {
"interpreter": { "interpreter": {

View File

@ -76,9 +76,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -6257,7 +6258,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
}, },
"nav_menu": { "nav_menu": {
"height": "279px", "height": "279px",

View File

@ -66,9 +66,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -2465,7 +2466,9 @@
"outputs": [ "outputs": [
{ {
"data": { "data": {
"text/plain": "0.9763" "text/plain": [
"0.9763"
]
}, },
"execution_count": 101, "execution_count": 101,
"metadata": {}, "metadata": {},
@ -4581,7 +4584,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
}, },
"nav_menu": {}, "nav_menu": {},
"toc": { "toc": {

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -2785,7 +2786,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
}, },
"nav_menu": {}, "nav_menu": {},
"toc": { "toc": {

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -2593,7 +2594,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": {}, "nav_menu": {},
"toc": { "toc": {

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -2019,7 +2020,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
}, },
"nav_menu": { "nav_menu": {
"height": "309px", "height": "309px",

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -2058,7 +2059,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": { "nav_menu": {
"height": "252px", "height": "252px",

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -2565,7 +2566,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
} }
}, },
"nbformat": 4, "nbformat": 4,

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -6984,7 +6985,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
} }
}, },
"nbformat": 4, "nbformat": 4,

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -88,7 +89,7 @@
"source": [ "source": [
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -3781,7 +3782,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": { "nav_menu": {
"height": "264px", "height": "264px",

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -4500,7 +4501,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": { "nav_menu": {
"height": "360px", "height": "360px",

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -6474,7 +6475,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
} }
}, },
"nbformat": 4, "nbformat": 4,

View File

@ -68,9 +68,10 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -88,7 +89,7 @@
"source": [ "source": [
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -4213,7 +4214,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.8.12" "version": "3.10.6"
}, },
"nav_menu": { "nav_menu": {
"height": "264px", "height": "264px",

View File

@ -83,9 +83,10 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -107,7 +108,7 @@
"source": [ "source": [
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -2220,7 +2221,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": {}, "nav_menu": {},
"toc": { "toc": {

View File

@ -77,9 +77,10 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -4810,7 +4811,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": {}, "nav_menu": {},
"toc": { "toc": {

View File

@ -77,9 +77,10 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -4297,7 +4298,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": {}, "nav_menu": {},
"toc": { "toc": {

View File

@ -77,9 +77,10 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import sklearn\n", "import sklearn\n",
"\n", "\n",
"assert sklearn.__version__ >= \"1.0.1\"" "assert version.parse(sklearn.__version__) >= version.parse(\"1.0.1\")"
] ]
}, },
{ {
@ -101,7 +102,7 @@
"source": [ "source": [
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -3280,7 +3281,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
}, },
"nav_menu": { "nav_menu": {
"height": "381px", "height": "381px",

View File

@ -77,9 +77,10 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -2597,7 +2598,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
} }
}, },
"nbformat": 4, "nbformat": 4,

View File

@ -77,9 +77,10 @@
}, },
"outputs": [], "outputs": [],
"source": [ "source": [
"from packaging import version\n",
"import tensorflow as tf\n", "import tensorflow as tf\n",
"\n", "\n",
"assert tf.__version__ >= \"2.8.0\"" "assert version.parse(tf.__version__) >= version.parse(\"2.8.0\")"
] ]
}, },
{ {
@ -97,6 +98,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"import sys\n",
"if \"google.colab\" in sys.modules or \"kaggle_secrets\" in sys.modules:\n", "if \"google.colab\" in sys.modules or \"kaggle_secrets\" in sys.modules:\n",
" %pip install -q -U google-cloud-aiplatform" " %pip install -q -U google-cloud-aiplatform"
] ]
@ -3162,7 +3164,7 @@
"name": "python", "name": "python",
"nbconvert_exporter": "python", "nbconvert_exporter": "python",
"pygments_lexer": "ipython3", "pygments_lexer": "ipython3",
"version": "3.9.10" "version": "3.10.6"
} }
}, },
"nbformat": 4, "nbformat": 4,

View File

@ -3,44 +3,45 @@ channels:
- conda-forge - conda-forge
- defaults - defaults
dependencies: dependencies:
- box2d-py # used only in chapter 18, exercise 8 - box2d-py=2.3 # used only in chapter 18, exercise 8
- ftfy=5.5 # used only in chapter 16 by the transformers library - ftfy=6.1 # used only in chapter 16 by the transformers library
- graphviz # used only in chapter 6 for dot files - graphviz # used only in chapter 6 for dot files
- python-graphviz # used only in chapter 6 for dot files - python-graphviz # used only in chapter 6 for dot files
- ipython=8.0 # a powerful Python shell - ipython=8.5 # a powerful Python shell
- ipywidgets=7.6 # optionally used only in chapter 11 for tqdm in Jupyter - ipywidgets=8.0 # optionally used only in chapter 11 for tqdm in Jupyter
- joblib=1.1 # used only in chapter 2 to save/load Scikit-Learn models - joblib=1.1 # used only in chapter 2 to save/load Scikit-Learn models
- jupyterlab=3.2 # to edit and run Jupyter notebooks - jupyterlab=3.4 # to edit and run Jupyter notebooks
- matplotlib=3.5 # beautiful plots. See tutorial tools_matplotlib.ipynb - matplotlib=3.5 # beautiful plots. See tutorial tools_matplotlib.ipynb
- nbdime=3.1 # optional tool to diff Jupyter notebooks - nbdime=3.1 # optional tool to diff Jupyter notebooks
- nltk=3.6 # optionally used in chapter 3, exercise 4 - nltk=3.6 # optionally used in chapter 3, exercise 4
- numexpr=2.8 # used only in the Pandas tutorial for numerical expressions - numexpr=2.8 # used only in the Pandas tutorial for numerical expressions
- numpy=1.22 # Powerful n-dimensional arrays and numerical computing tools - numpy=1.23 # Powerful n-dimensional arrays and numerical computing tools
- pandas=1.4 # data analysis and manipulation tool - pandas=1.4 # data analysis and manipulation tool
- pillow=9.0 # image manipulation library, (used by matplotlib.image.imread) - pillow=9.2 # image manipulation library, (used by matplotlib.image.imread)
- pip # Python's package-management system - pip # Python's package-management system
- py-xgboost=1.5 # used only in chapter 6 for optimized Gradient Boosting - py-xgboost=1.6 # used only in chapter 6 for optimized Gradient Boosting
- pydot=1.4 # used only for in chapter 10 for tf.keras.utils.plot_model()
- pyglet=1.5 # used only in chapter 18 to render environments - pyglet=1.5 # used only in chapter 18 to render environments
- pyopengl=3.1 # used only in chapter 18 to render environments - pyopengl=3.1 # used only in chapter 18 to render environments
- python=3.9 # Python! Not using latest version as some libs lack support - python=3.10 # your beloved programming language! :)
#- pyvirtualdisplay=2.2 # used only in chapter 18 if on headless server #- pyvirtualdisplay=3.0 # used only in chapter 18 if on headless server
- requests=2.27 # used only in chapter 19 for REST API queries - requests=2.28 # used only in chapter 19 for REST API queries
- scikit-learn=1.0 # machine learning library - scikit-learn=1.1 # machine learning library
- scipy=1.8 # scientific/technical computing library - scipy=1.9 # scientific/technical computing library
- tqdm=4.62 # a progress bar library - tqdm=4.64 # a progress bar library
- wheel # built-package format for pip - wheel # built-package format for pip
- widgetsnbextension=3.5 # interactive HTML widgets for Jupyter notebooks - widgetsnbextension=4.0 # interactive HTML widgets for Jupyter notebooks
- pip: - pip:
- keras-tuner~=1.1.2 # used in chapters 10 and 19 for hyperparameter tuning - keras-tuner~=1.1.3 # used in chapters 10 and 19 for hyperparameter tuning
- tensorboard-plugin-profile~=2.5.0 # profiling plugin for TensorBoard - tensorboard-plugin-profile~=2.8.0 # profiling plugin for TensorBoard
- tensorboard~=2.8.0 # TensorFlow's visualization toolkit - tensorboard~=2.10.0 # TensorFlow's visualization toolkit
- tensorflow-addons~=0.16.1 # used in chapters 11 & 16 (for AdamW & seq2seq) - tensorflow-addons~=0.17.1 # used in chapters 11 & 16 (for AdamW & seq2seq)
- tensorflow-datasets~=4.5.2 # datasets repository, ready to use - tensorflow-datasets~=4.6.0 # datasets repository, ready to use
- tensorflow-hub~=0.12.0 # trained ML models repository, ready to use - tensorflow-hub~=0.12.0 # trained ML models repository, ready to use
- tensorflow-serving-api~=2.8.0 # or tensorflow-serving-api-gpu if gpu - tensorflow-serving-api~=2.10.0 # or tensorflow-serving-api-gpu if gpu
- tensorflow~=2.8.0 # Deep Learning library - tensorflow~=2.10.0 # Deep Learning library
- transformers~=4.16.2 # Natural Language Processing lib for TF or PyTorch - transformers~=4.21.3 # Natural Language Processing lib for TF or PyTorch
- urlextract~=1.5.0 # optionally used in chapter 3, exercise 4 - urlextract~=1.6.0 # optionally used in chapter 3, exercise 4
- gym[atari,accept-rom-license]~=0.21.0 # used only in chapter 18 - gym[atari,accept-rom-license]~=0.21.0 # used only in chapter 18
- google-cloud-aiplatform~=1.12.0 # used only in chapter 19 - google-cloud-aiplatform~=1.17.0 # used only in chapter 19
- google-cloud-storage~=2.2.1 # used only in chapter 19 - google-cloud-storage~=2.5.0 # used only in chapter 19

View File

@ -4,20 +4,20 @@
##### Core scientific packages ##### Core scientific packages
jupyterlab~=3.2.0 jupyterlab~=3.4.6
matplotlib~=3.5.0 matplotlib~=3.5.3
numpy~=1.22.0 numpy~=1.23.3
pandas~=1.4.0 pandas~=1.4.4
scipy~=1.8.0 scipy~=1.9.1
##### Machine Learning packages ##### Machine Learning packages
scikit-learn~=1.0.2 scikit-learn~=1.1.2
# Optional: the XGBoost library is only used in chapter 7 # Optional: the XGBoost library is only used in chapter 7
xgboost~=1.5.0 xgboost~=1.6.2
# Optional: the transformers library is only used in chapter 16 # Optional: the transformers library is only used in chapter 16
transformers~=4.16.2 transformers~=4.21.3
##### TensorFlow-related packages ##### TensorFlow-related packages
@ -27,20 +27,20 @@ transformers~=4.16.2
# you must install CUDA, cuDNN and more: see tensorflow.org for the detailed # you must install CUDA, cuDNN and more: see tensorflow.org for the detailed
# installation instructions. # installation instructions.
tensorflow~=2.8.0 tensorflow~=2.10.0
# Optional: the TF Serving API library is just needed for chapter 18. # Optional: the TF Serving API library is just needed for chapter 18.
tensorflow-serving-api~=2.8.0 # or tensorflow-serving-api-gpu if gpu tensorflow-serving-api~=2.10.0 # or tensorflow-serving-api-gpu if gpu
tensorboard~=2.8.0 tensorboard~=2.10.0
tensorboard-plugin-profile~=2.5.0 tensorboard-plugin-profile~=2.8.0
tensorflow-datasets~=4.5.2 tensorflow-datasets~=4.6.0
tensorflow-hub~=0.12.0 tensorflow-hub~=0.12.0
# Used in chapter 10 and 19 for hyperparameter tuning # Used in chapter 10 and 19 for hyperparameter tuning
keras-tuner~=1.1.2 keras-tuner~=1.1.3
# Optional: used in chapters 11 & 16 (for AdamW & seq2seq) # Optional: used in chapters 11 & 16 (for AdamW & seq2seq)
tensorflow-addons~=0.16.1 tensorflow-addons~=0.17.1
##### Reinforcement Learning library (chapter 18) ##### Reinforcement Learning library (chapter 18)
@ -55,17 +55,17 @@ gym[Box2D,atari,accept-rom-license]~=0.21.0
# It's much easier to use Anaconda instead. # It's much easier to use Anaconda instead.
##### Image manipulation ##### Image manipulation
Pillow~=9.0.0 Pillow~=9.2.0
graphviz~=0.19.1 graphviz~=0.20.1
pyglet~=1.5.21 pyglet~=1.5.26
#pyvirtualdisplay # needed in chapter 18, if on a headless server #pyvirtualdisplay # needed in chapter 18, if on a headless server
# (i.e., without screen, e.g., Colab or VM) # (i.e., without screen, e.g., Colab or VM)
##### Google Cloud Platform - used only in chapter 19 ##### Google Cloud Platform - used only in chapter 19
google-cloud-aiplatform~=1.12.0 google-cloud-aiplatform~=1.17.0
google-cloud-storage~=2.2.1 google-cloud-storage~=2.5.0
##### Additional utilities ##### Additional utilities
@ -73,23 +73,26 @@ google-cloud-storage~=2.2.1
joblib~=1.1.0 joblib~=1.1.0
# Easy http requests # Easy http requests
requests~=2.27.0 requests~=2.28.1
# Nice utility to diff Jupyter Notebooks. # Nice utility to diff Jupyter Notebooks.
nbdime~=3.1.0 nbdime~=3.1.1
# May be useful with Pandas for complex "where" clauses (e.g., Pandas # May be useful with Pandas for complex "where" clauses (e.g., Pandas
# tutorial). # tutorial).
numexpr~=2.8.0 numexpr~=2.8.3
# Optional: these libraries can be useful in chapter 3, exercise 4. # Optional: these libraries can be useful in chapter 3, exercise 4.
nltk~=3.6.5 nltk~=3.7
urlextract~=1.5.0 urlextract~=1.6.0
# Optional: these libraries are only used in chapter 16 # Optional: these libraries are only used in chapter 16
ftfy~=5.5.0 ftfy~=6.1.1
# Optional: tqdm displays nice progress bars, ipywidgets for tqdm's notebook # Optional: tqdm displays nice progress bars, ipywidgets for tqdm's notebook
# support # support
tqdm~=4.62.3 tqdm~=4.64.1
ipywidgets~=7.6.5 ipywidgets~=8.0.2
# Optional: pydot is only used in chapter 10 for tf.keras.utils.plot_model()
pydot~=1.4.2