README.md

Настройка среды и создание Fast_API приложения для сегментации изображения и распознания чисел

Имя проекта: CVAI_FastAPI

№1 платформа AI курсов (in Russian)

1

Установка дополнительного ПО для работы приложения

Для Linux:

1. sudo apt-get install libcudnn8
2. sudo apt-get install libcudnn8-dev
3. sudo apt-get install libcublas-12-0

Установка tensorflow:

1. python -m pip install "tensorflow<2.11" // для Windows 10;
2. python -m pip install tensorflow==2.15 // для Linux.

Для проверки результата настройки среды с GPU:


1. python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
	Если в конце будет пустой список [], то GPU не подключена.
	Если подключена то будет [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

Для использования Anaconda в данном случаю мы не используем. Создание среды conda:

1. через терминал:
	1. conda create --name tf python=3.9 или выберете в VSCode conda 3.9.


2. Установка cudatoolkit + cudnn, копируйте строку и вставляйте в терминал:
        conda install -c conda-forge cudatoolkit=11.2 cudnn=8.1.0 -y
        (Если CTRL+V для вставки не работает, используйте SHIFT+INSERT)

                -----
                cudatoolkit: Это пакет NVIDIA CUDA Toolkit, 
                который содержит CUDA драйверы и библиотеки, 
                необходимые для разработки, запуска и отладки приложений, 
                использующих CUDA. 
                Версия 11.2 указывает на конкретную версию CUDA Toolkit.

                cudnn: Это CUDA Deep Neural Network библиотека (cuDNN), 
                специализированная библиотека для ускорения прямого и 
                обратного распространения в нейронных сетях, используемых 
                в глубоком обучении. Версия 8.1.0 относится к определённой 
                версии этой библиотеки.
    
                -----

Приступим к созданию проекта. Первым делом следует создать папку проекта и перейти в нее,

в Linux это можно сделать при помощи следующих команд:

1.  mkdir CVAI_FastAPI
2.  cd CVAI_FastAPI
 

Создание виртуальной среды

Теперь создадим в этой папке виртуальную среду:

1. python3 -m venv venv_ui


Если у Вас возникает следующая ошибка:

1. The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv package 
using the following command.
2. Нужно установить venv следующей командой:
	- sudo apt-get install python3-venv
3. После повторите команду создания виртуальной среды Python.
	- python3 -m venv venv_OD


Активация виртуальной среды

Осталось активировать виртуальную среду при помощи команды:

1.  source venv_ui/bin/activate

Деактивировать виртуальную среду при помощи команды:

1.  deactivate

Установка FastAPI и дополнительное ПО

Для этого нам потребуется скачать данный репозиторий и установить пакеты pip с файла requirements_CPU.txt.

Проверка установленных пакетов:

1.  pip3 list

Теперь установим пакеты из файла requirements_CPU.txt в нашу виртуальную среду:

1.  python -m pip freeze > requirements_CPU.txt

Теперь снова проверим список установленных пакетов pip внутри виртуальной среды:

1.  pip3 list

Собираем разбитые на части архив tar в один файл:

1. зайдем в директорию cvai_fastapi/segment/ и выполним следующую команду в терминале:
	1. cat segment_v2.tar.gz.* | tar xzvf -;
	2. переместим его в директорию cvai_fastapi/segment.h5.


2. зайдем в директорию cvai_fastapi/static/segment/ и выполним следующую команду в терминале:
	1. cat segment.tar.gz.* | tar xzvf -;
	2. переместим его в директорию cvai_fastapi/static/segment.h5.


Запуск приложения FastAPI

Для этого нам потребуется запустить main.py.

main:app запустим следующей командой из терминала: uvicorn main:app –host 127.0.0.1 –port 5009 –workers 4: 1. uvicorn main:app запуск приложения в асинхронном варианте; 2. –host 127.0.0.1 ip - адрес для запуска на локальной машине; 3. –port 5009 порт через который будет передача данных клиент-сервер; 4. -workers 4 количество рабочих процессов.

1. uvicorn main:app --host 127.0.0.1 --port 5009 --workers 4

конец
Конвейеры
0 успешных
0 с ошибкой