diff --git a/.github/workflows/build_macos.yml b/.github/workflows/build_macos.yml
index cb399b5..9484538 100644
--- a/.github/workflows/build_macos.yml
+++ b/.github/workflows/build_macos.yml
@@ -18,18 +18,18 @@ on:
jobs:
build-mac:
- name: "Macos 11.7 Xcode (Clang)"
- runs-on: macos-11
+ name: "macOS 14.4.1 arm64 Xcode (Clang)"
+ runs-on: macos-14
strategy:
matrix:
- xcode: [11.7, 12.4, 13.2.1]
+ xcode: [14.3.1, 15.3]
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Set up CMake
- uses: jwlawson/actions-setup-cmake@v1.13
+ uses: jwlawson/actions-setup-cmake@v2
with:
- cmake-version: '3.14.0'
+ cmake-version: '3.19.0'
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
diff --git a/.github/workflows/build_ubuntu.yml b/.github/workflows/build_ubuntu.yml
index 6343a6a..d3272b3 100644
--- a/.github/workflows/build_ubuntu.yml
+++ b/.github/workflows/build_ubuntu.yml
@@ -18,18 +18,18 @@ on:
jobs:
build-ubuntu:
- name: "Ubuntu 20.04 GCC"
- runs-on: ubuntu-20.04
+ name: "Ubuntu 22.04 GCC"
+ runs-on: ubuntu-22.04
strategy:
matrix:
- gcc: [9, 10, 11]
+ gcc: [11, 12, 13]
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Set up CMake
- uses: jwlawson/actions-setup-cmake@v1.13
+ uses: jwlawson/actions-setup-cmake@v2
with:
- cmake-version: '3.14.0'
+ cmake-version: '3.19.0'
- name: Set up GCC
uses: egor-tensin/setup-gcc@v1
with:
diff --git a/.github/workflows/build_windows.yml b/.github/workflows/build_windows.yml
index 54c90c8..5398cb8 100644
--- a/.github/workflows/build_windows.yml
+++ b/.github/workflows/build_windows.yml
@@ -26,7 +26,7 @@ jobs:
- {
name: Windows MSVC 2019,
os: windows-2019,
- cmake: '3.14.0'
+ cmake: '3.19.0'
}
- {
name: Windows MSVC 2022,
@@ -35,9 +35,9 @@ jobs:
}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Set up CMake
- uses: jwlawson/actions-setup-cmake@v1.13
+ uses: jwlawson/actions-setup-cmake@v2
with:
cmake-version: ${{ matrix.config.cmake }}
- name: Cpplint
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 31ca192..53c2489 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(pytorch-cpp VERSION 1.0.0 LANGUAGES CXX)
@@ -7,7 +7,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
option(DOWNLOAD_DATASETS "Automatically download required datasets at build-time." ON)
option(CREATE_SCRIPTMODULES "Automatically create all required scriptmodule files at build-time (requires python3)." OFF)
-set(PYTORCH_VERSION "2.1.1")
+set(PYTORCH_VERSION "2.3.0")
set(PYTORCH_MIN_VERSION "1.12.0")
find_package(Torch QUIET PATHS "${CMAKE_SOURCE_DIR}/libtorch")
diff --git a/Dockerfile b/Dockerfile
index ec21d02..a76a192 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -31,8 +31,8 @@ RUN curl --silent --show-error --location --output ~/miniconda.sh https://repo.a
FROM conda AS conda-installs
# Install pytorch for CPU and torchvision.
-ARG PYTORCH_VERSION=2.1.1
-ARG TORCHVISION_VERSION=0.16.1
+ARG PYTORCH_VERSION=2.3.0
+ARG TORCHVISION_VERSION=0.18.0
ENV NO_CUDA=1
RUN conda install pytorch==${PYTORCH_VERSION} torchvision==${TORCHVISION_VERSION} cpuonly -y -c pytorch && conda clean -ya
diff --git a/README.md b/README.md
index a6254b6..6e5c7db 100644
--- a/README.md
+++ b/README.md
@@ -1,16 +1,16 @@
-
+
C++ Implementation of PyTorch Tutorials for Everyone
-
-
+
+
-| OS (Compiler)\\LibTorch | 2.1.1 |
+| OS (Compiler)\\LibTorch | 2.3.0 |
| :--------------------- | :--------------------------------------------------------------------------------------------------- |
| macOS (clang 11, 12, 13) | [](https://github.com/prabhuomkar/pytorch-cpp/actions?query=workflow%3Aci-build-macos) |
| Linux (gcc 9, 10, 11) | [](https://github.com/prabhuomkar/pytorch-cpp/actions?query=workflow%3Aci-build-ubuntu) |
@@ -51,8 +51,8 @@ This repository provides tutorial code in C++ for deep learning researchers to l
## Requirements
1. [C++-17](http://www.cplusplus.com/doc/tutorial/introduction/) compatible compiler
-2. [CMake](https://cmake.org/download/) (minimum version 3.14)
-3. [LibTorch version >= 1.12.0 and <= 2.1.1](https://pytorch.org/cppdocs/installing.html)
+2. [CMake](https://cmake.org/download/) (minimum version 3.19)
+3. [LibTorch version >= 1.12.0 and <= 2.3.0](https://pytorch.org/cppdocs/installing.html)
4. [Conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/download.html)
diff --git a/cmake/check_files.cmake b/cmake/check_files.cmake
index ea0f032..efbe20f 100644
--- a/cmake/check_files.cmake
+++ b/cmake/check_files.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(check_files BASE_DIR FILES_TO_CHECK FILE_MD5S MISSING_FILES)
foreach(FILE_TO_CHECK ${${FILES_TO_CHECK}})
diff --git a/cmake/copy_torch_dlls.cmake b/cmake/copy_torch_dlls.cmake
index 308f8c1..122a152 100644
--- a/cmake/copy_torch_dlls.cmake
+++ b/cmake/copy_torch_dlls.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(copy_torch_dlls TARGET_NAME)
# According to https://github.com/pytorch/pytorch/issues/25457
diff --git a/cmake/cpplint.cmake b/cmake/cpplint.cmake
index 4551708..f57ea6d 100644
--- a/cmake/cpplint.cmake
+++ b/cmake/cpplint.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
find_program(CPPLINT cpplint)
diff --git a/cmake/create_torch_dll_hardlinks.cmake b/cmake/create_torch_dll_hardlinks.cmake
index e02a416..62e0076 100644
--- a/cmake/create_torch_dll_hardlinks.cmake
+++ b/cmake/create_torch_dll_hardlinks.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
file(GLOB TORCH_DLLS "${TORCH_INSTALL_PREFIX}/lib/*.dll")
diff --git a/cmake/fetch_cifar10.cmake b/cmake/fetch_cifar10.cmake
index 212f49e..2987439 100644
--- a/cmake/fetch_cifar10.cmake
+++ b/cmake/fetch_cifar10.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(fetch_cifar10 DATA_DIR)
set(CIFAR_DIR "${DATA_DIR}/cifar10")
diff --git a/cmake/fetch_datasets.cmake b/cmake/fetch_datasets.cmake
index 47c40a8..930c151 100644
--- a/cmake/fetch_datasets.cmake
+++ b/cmake/fetch_datasets.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
include(${CMAKE_CURRENT_LIST_DIR}/fetch_mnist.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/fetch_cifar10.cmake)
diff --git a/cmake/fetch_flickr8k.cmake b/cmake/fetch_flickr8k.cmake
index f787803..93c2533 100644
--- a/cmake/fetch_flickr8k.cmake
+++ b/cmake/fetch_flickr8k.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(fetch_flickr8k DATA_DIR)
set(FLICKR8K_DIR "${DATA_DIR}/flickr_8k")
diff --git a/cmake/fetch_imagenette.cmake b/cmake/fetch_imagenette.cmake
index 5f1a1c2..f8c5de4 100644
--- a/cmake/fetch_imagenette.cmake
+++ b/cmake/fetch_imagenette.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(fetch_imagenette DATA_DIR)
set(IMAGENETTE_DIR "${DATA_DIR}/imagenette2-160")
diff --git a/cmake/fetch_libtorch.cmake b/cmake/fetch_libtorch.cmake
index 92408f1..9264d9c 100644
--- a/cmake/fetch_libtorch.cmake
+++ b/cmake/fetch_libtorch.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
include(FetchContent)
@@ -33,7 +33,7 @@ elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
message(WARNING "MacOS binaries do not support CUDA, will download CPU version instead.")
set(LIBTORCH_DEVICE "cpu")
endif()
- set(LIBTORCH_URL "https://download.pytorch.org/libtorch/cpu/libtorch-macos-${PYTORCH_VERSION}.zip")
+ set(LIBTORCH_URL "https://download.pytorch.org/libtorch/cpu/libtorch-macos-arm64-${PYTORCH_VERSION}.zip")
else()
message(FATAL_ERROR "Unsupported CMake System Name '${CMAKE_SYSTEM_NAME}' (expected 'Windows', 'Linux' or 'Darwin')")
endif()
diff --git a/cmake/fetch_mnist.cmake b/cmake/fetch_mnist.cmake
index 4330f8d..a0bce53 100644
--- a/cmake/fetch_mnist.cmake
+++ b/cmake/fetch_mnist.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(fetch_mnist DATA_DIR)
set(MNIST_DOWNLOAD_DIR "${DATA_DIR}/mnist/download")
diff --git a/cmake/fetch_neural_style_transfer_images.cmake b/cmake/fetch_neural_style_transfer_images.cmake
index 1709108..d1e224c 100644
--- a/cmake/fetch_neural_style_transfer_images.cmake
+++ b/cmake/fetch_neural_style_transfer_images.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(fetch_neural_style_transfer_imagers DATA_DIR)
set(NEURAL_STYLE_TRANSFER_IMAGES_DIR
diff --git a/cmake/fetch_penntreebank.cmake b/cmake/fetch_penntreebank.cmake
index fedb47e..3bdab68 100644
--- a/cmake/fetch_penntreebank.cmake
+++ b/cmake/fetch_penntreebank.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
function(fetch_penntreebank DATA_DIR)
set(PENNTREEBANK_DIR "${DATA_DIR}/penntreebank")
diff --git a/cmake/find_gz_extractor.cmake b/cmake/find_gz_extractor.cmake
index e17100d..58ac2ac 100644
--- a/cmake/find_gz_extractor.cmake
+++ b/cmake/find_gz_extractor.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
# Find program that can extract .gz files.
# Based on: https://github.com/Amber-MD/cmake-buildscripts/blob/master/gzip.cmake
diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt
index 02597c1..49789ae 100644
--- a/extern/CMakeLists.txt
+++ b/extern/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(extern VERSION 1.0.0 LANGUAGES CXX)
diff --git a/images/pytorch_cpp.jpg b/images/pytorch_cpp.jpg
new file mode 100644
index 0000000..7d4b6d6
Binary files /dev/null and b/images/pytorch_cpp.jpg differ
diff --git a/images/pytorch_cpp.png b/images/pytorch_cpp.png
deleted file mode 100644
index b2f141a..0000000
Binary files a/images/pytorch_cpp.png and /dev/null differ
diff --git a/notebooks/pytorch_cpp_colab_notebook.ipynb b/notebooks/pytorch_cpp_colab_notebook.ipynb
index ac4c27a..64f7807 100644
--- a/notebooks/pytorch_cpp_colab_notebook.ipynb
+++ b/notebooks/pytorch_cpp_colab_notebook.ipynb
@@ -162,9 +162,9 @@
"!rm -rf deps\n",
"!mkdir deps\n",
"%cd /content/deps\n",
- "!wget --no-check-certificate https://www.cmake.org/files/v3.14/cmake-3.14.0-Linux-x86_64.tar.gz\n",
- "!tar -xvf cmake-3.14.0-Linux-x86_64.tar.gz > /dev/null\n",
- "%mv cmake-3.14.0-Linux-x86_64 cmake-install\n",
+ "!wget --no-check-certificate https://www.cmake.org/files/v3.19/cmake-3.19.0-Linux-x86_64.tar.gz\n",
+ "!tar -xvf cmake-3.19.0-Linux-x86_64.tar.gz > /dev/null\n",
+ "%mv cmake-3.19.0-Linux-x86_64 cmake-install\n",
"old_path = %env PATH\n",
"new_path = \"/content/deps/cmake-install:/content/deps/cmake-install/bin:\" + old_path\n",
"%env PATH={new_path}\n",
diff --git a/tutorials/advanced/generative_adversarial_network/CMakeLists.txt b/tutorials/advanced/generative_adversarial_network/CMakeLists.txt
index 97ebaf5..8c7a70c 100644
--- a/tutorials/advanced/generative_adversarial_network/CMakeLists.txt
+++ b/tutorials/advanced/generative_adversarial_network/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(generative-adversarial-network VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/advanced/image_captioning/CMakeLists.txt b/tutorials/advanced/image_captioning/CMakeLists.txt
index 70554e8..a6d1c59 100644
--- a/tutorials/advanced/image_captioning/CMakeLists.txt
+++ b/tutorials/advanced/image_captioning/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(image-captioning VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/advanced/neural_style_transfer/CMakeLists.txt b/tutorials/advanced/neural_style_transfer/CMakeLists.txt
index 9c6b63a..4a9223e 100644
--- a/tutorials/advanced/neural_style_transfer/CMakeLists.txt
+++ b/tutorials/advanced/neural_style_transfer/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(neural-style-transfer VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/advanced/variational_autoencoder/CMakeLists.txt b/tutorials/advanced/variational_autoencoder/CMakeLists.txt
index d254d14..7175039 100644
--- a/tutorials/advanced/variational_autoencoder/CMakeLists.txt
+++ b/tutorials/advanced/variational_autoencoder/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(variational-autoencoder VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/basics/feedforward_neural_network/CMakeLists.txt b/tutorials/basics/feedforward_neural_network/CMakeLists.txt
index 8f552de..2fa0c8e 100644
--- a/tutorials/basics/feedforward_neural_network/CMakeLists.txt
+++ b/tutorials/basics/feedforward_neural_network/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(feedforward-neural-network VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/basics/linear_regression/CMakeLists.txt b/tutorials/basics/linear_regression/CMakeLists.txt
index 8c2f013..76ed471 100644
--- a/tutorials/basics/linear_regression/CMakeLists.txt
+++ b/tutorials/basics/linear_regression/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(linear-regression VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/basics/logistic_regression/CMakeLists.txt b/tutorials/basics/logistic_regression/CMakeLists.txt
index a670a4d..2795178 100644
--- a/tutorials/basics/logistic_regression/CMakeLists.txt
+++ b/tutorials/basics/logistic_regression/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(logistic-regression VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/basics/pytorch_basics/CMakeLists.txt b/tutorials/basics/pytorch_basics/CMakeLists.txt
index 908a432..3c176d8 100644
--- a/tutorials/basics/pytorch_basics/CMakeLists.txt
+++ b/tutorials/basics/pytorch_basics/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(pytorch-basics VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/intermediate/bidirectional_recurrent_neural_network/CMakeLists.txt b/tutorials/intermediate/bidirectional_recurrent_neural_network/CMakeLists.txt
index 00d113a..824b6a9 100644
--- a/tutorials/intermediate/bidirectional_recurrent_neural_network/CMakeLists.txt
+++ b/tutorials/intermediate/bidirectional_recurrent_neural_network/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(bidirectional-recurrent-neural-network VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/intermediate/convolutional_neural_network/CMakeLists.txt b/tutorials/intermediate/convolutional_neural_network/CMakeLists.txt
index 57220b9..f7a0c99 100644
--- a/tutorials/intermediate/convolutional_neural_network/CMakeLists.txt
+++ b/tutorials/intermediate/convolutional_neural_network/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(convolutional-neural-network VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/intermediate/deep_residual_network/CMakeLists.txt b/tutorials/intermediate/deep_residual_network/CMakeLists.txt
index 9f99ad2..198a0f3 100644
--- a/tutorials/intermediate/deep_residual_network/CMakeLists.txt
+++ b/tutorials/intermediate/deep_residual_network/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(deep-residual-network VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/intermediate/language_model/CMakeLists.txt b/tutorials/intermediate/language_model/CMakeLists.txt
index 7d21c80..11d00c0 100644
--- a/tutorials/intermediate/language_model/CMakeLists.txt
+++ b/tutorials/intermediate/language_model/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(language-model VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/intermediate/recurrent_neural_network/CMakeLists.txt b/tutorials/intermediate/recurrent_neural_network/CMakeLists.txt
index 1eebb49..7b2a20b 100644
--- a/tutorials/intermediate/recurrent_neural_network/CMakeLists.txt
+++ b/tutorials/intermediate/recurrent_neural_network/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(recurrent-neural-network VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/popular/blitz/autograd/CMakeLists.txt b/tutorials/popular/blitz/autograd/CMakeLists.txt
index 37f3da4..d6cbe36 100644
--- a/tutorials/popular/blitz/autograd/CMakeLists.txt
+++ b/tutorials/popular/blitz/autograd/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(autograd VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/popular/blitz/neural_networks/CMakeLists.txt b/tutorials/popular/blitz/neural_networks/CMakeLists.txt
index c6f94ef..f914886 100644
--- a/tutorials/popular/blitz/neural_networks/CMakeLists.txt
+++ b/tutorials/popular/blitz/neural_networks/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(neural-networks VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/popular/blitz/tensors/CMakeLists.txt b/tutorials/popular/blitz/tensors/CMakeLists.txt
index 513808b..97bae55 100644
--- a/tutorials/popular/blitz/tensors/CMakeLists.txt
+++ b/tutorials/popular/blitz/tensors/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(tensors VERSION 1.0.0 LANGUAGES CXX)
diff --git a/tutorials/popular/blitz/training_a_classifier/CMakeLists.txt b/tutorials/popular/blitz/training_a_classifier/CMakeLists.txt
index 00d03b2..6ec8e51 100644
--- a/tutorials/popular/blitz/training_a_classifier/CMakeLists.txt
+++ b/tutorials/popular/blitz/training_a_classifier/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(training-a-classifier VERSION 1.0.0 LANGUAGES CXX)
diff --git a/utils/image_io/CMakeLists.txt b/utils/image_io/CMakeLists.txt
index 906407b..080332f 100644
--- a/utils/image_io/CMakeLists.txt
+++ b/utils/image_io/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.19 FATAL_ERROR)
project(image-io VERSION 1.0.0 LANGUAGES CXX)