Перейти до вмісту

TensorFlow

Матеріал з K2 ERP Wiki
Версія від 18:46, 8 травня 2026, створена R (обговорення | внесок) (Первинна публікація)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)

TensorFlow має змогу використовуватися для багатьох ML-задач.;

Inference — це використання вже навченої моделі для отримання прогнозу або результату.; :contentReference [oaicite:5]{index=5}

Результат: клас зображення і ймовірність.; * loss;

  • accuracy;
  • training curves;
  • graph;
  • embeddings;
  • images;
  • histograms;
  • metrics;
  • profiling data;
  • logs training-процесу.; Висновок: TensorFlow і PyTorch — обидва сильні ML-фреймворки.;
Практична користь: TensorBoard сприяє не лише бачити фінальний результат, а й розуміти, як модель навчалася.;

як ілюстрація:

  • великий обсяг екосистеми;
  • складність для новачків;
  • потреба розуміти ML-основи;
  • залежність від сумісності версій;
  • конфігурація GPU має змогу бути складним;
  • production pipeline потребує досвіду;
  • не кожна модель без зайвих зусиль переноситься між фреймворками;
  • TensorFlow-код має змогу бути складним без Keras;
  • потрібно тестувати модель на реальних даних.; :contentReference [oaicite:3]{index=3}
  • data validation;
  • data transformation;
  • model training;
  • model evaluation;
  • model serving;
  • pipeline orchestration;
  • metadata tracking;
  • production deployment;
  • повторюваних ML-процесів.; це open-source платформа; додатково реалізовано яка застосовують.; * Android-застосунків;
  • iOS-застосунків;
  • embedded-пристроїв;
  • edge inference;
  • моделей із низькою затримкою;
  • offline inference;
  • оптимізованих моделей;
  • quantization;
  • mobile AI.; Для веброзробки: TensorFlow.js надає можливість переносити частину AI-логіки у браузер або JavaScript-середовище.; Вибір залежить від задачі, команди, deployment-сценарію, досвіду розробників і вимог проєкту.; * open-source програмний пакет;
  • супровід Keras;
  • production-інструменти;
  • TensorFlow Lite;
  • TensorFlow.js;
  • TensorBoard;
  • TensorFlow Serving;
  • супровід GPU і TPU;
  • гнучкість для research і production;
  • велика документація;
  • широка спільнота;
  • інтеграційні функціональні можливості з Python;
  • супровід deployment у різних середовищах.; :contentReference [oaicite:6]{index=6}

TensorFlow Serving

model = tf.keras.Sequential([

  • tensors;
  • operations;
  • automatic differentiation;
  • variables;
  • computational graph;
  • eager execution;
  • model training;
  • model saving;
  • model loading;
  • low-level API;
  • high-level API через Keras.;== Обмеження TensorFlow ==

TensorFlow Lite має змогу використовуватися для:

!TensorFlow

  • якість даних;
  • bias у даних;
  • приватність;
  • безпеку моделі;
  • ліцензії датасетів;
  • ліцензії моделей;
  • explainability;
  • помилки inference;
  • моніторинг після deployment;
  • вплив моделі на користувачів;
  • ризики автоматизованих рішень.;

TensorFlow — це open-source платформа для машинного навчання, яка надає можливість створювати, навчати, оцінювати, зберігати, розгортати і використовувати ML-моделі в різних середовищах.; :contentReference [oaicite:7]{index=7}

Keras

TensorBoard сприяє переглядати:

TensorFlow як open-source платформа

|- |ключовий стиль |Широка production-екосистема, Keras, TFX, Lite, JS |Гнучкий research-friendly підхід, популярний у дослідженнях |- |Високорівневий API |Keras |torch.nn, PyTorch Lightning та інші інструменти |- |Production |TensorFlow Serving, TFX, TensorFlow Lite |TorchServe, ONNX, програмний пакет PyTorch |- |Мобільні пристрої |TensorFlow Lite |PyTorch Mobile / ExecuTorch |- |JavaScript |TensorFlow.js |Менш центральна частина екосистеми |} SavedModel застосовується для:

Python застосовується для:

  • запуск моделей Transformers у TensorFlow;
  • fine-tuning моделей;
  • використання датасетів;
  • експорт моделей;
  • порівняння PyTorch і TensorFlow-варіантів;
  • інтеграційні функціональні можливості в ML pipeline;
  • робота з pretrained models.;== TensorFlow і Hugging Face ==
  • збереження моделі;
  • завантаження моделі;
  • TensorFlow Serving;
  • TensorFlow Lite conversion;
  • production deployment;
  • обміну моделями між середовищами.; TensorFlow 2 зробив eager execution одним із ключових елементів зручнішої роботи з платформою.; інформаційні дані: набір зображень із мітками.; :contentReference [oaicite:4]{index=4}

</syntaxhighlight>

TensorFlow Extended

Tensor можна уявити як багатовимірний масив чисел:

  • у Python-застосунку;
  • на сервері;
  • через API;
  • у браузері;
  • на мобільному пристрої;
  • на edge-пристрої;
  • у production pipeline.;

TensorBoard

TensorFlow підтримує роботу роботу з нейронними мережами, deep learning, computer vision, natural language processing, time series, рекомендаційними системами, мобільним inference, браузерним inference, production pipeline та іншими задачами машинного навчання.; Якість рішення для бізнесу залежить від даних, постановки задачі, архітектури, метрик, тестування і deployment-процесу.; * вхідні інформаційні дані;

  • математичні операції;
  • шари моделі;
  • loss function;
  • gradients;
  • актуалізація ваг;
  • inference pipeline.; істотно: навіть якщо TensorFlow має відкриту ліцензію, модель або датасет, які використовуються разом із ним, можуть мати інші умови.; Офіційна сторінка TensorFlow.js описує його як library for machine learning in JavaScript, що надає можливість розробляти ML-моделі в JavaScript і використовувати ML безпосередньо в браузері або Node.js.;== Безпека і відповідальне використання ==

Приклади сценаріїв використання

істотно: open-source статус TensorFlow не означає, що будь-яку модель, датасет або програмний продукт на його основі можна використовувати без обмежень.; tf.data — це API TensorFlow для ефективної роботи з потоками даних.;

  • оперативно створювати neural networks;
  • описувати layers;
  • компілювати модель;
  • запускати training;
  • оцінювати модель;
  • робити inference;
  • зберігати і завантажувати моделі;
  • працювати з callbacks;
  • експериментувати з архітектурами.; Підказка: перед вибором TensorFlow потрібно зрозуміти не лише задачу training, а й те, де модель буде виконуватися після навчання.; Небезпека: модель має змогу добре працювати на training data, але погано працювати на реальних даних.; Офіційна документація TensorFlow описує Keras як high-level API платформи TensorFlow, що дає продуктивний інтерфейс для розв’язання ML-задач і охоплює workflow від обробки даних до deployment.; * scalar — нульвимірне значення;
  • vector — одновимірний масив;
  • matrix — двовимірний масив;
  • tensor higher rank — масив із більшою кількістю вимірів.; Модель: convolutional neural network або pretrained model.;== Tensor ==
Перевага: TensorFlow поєднує інструменти для експериментів, навчання моделей, production-розгортання і запуску моделей на різних платформах.; :contentReference [oaicite:0]{index=0}

Keras — це високорівневий API для TensorFlow, який спрощує створення, навчання і використання моделей deep learning.; Потрібно враховувати: Під час training модель:

Приклади inference-задач:

TensorFlow є собою open-source платформою для машинного навчання.;== Ліцензії та залежності ==

!Критерій Окремо варто відзначити коли потрібно для створення, навчання, оцінювання, розгортання і використання ML-моделей виступає ключовою рисою машинного навчання і штучного інтелекту забезпечується через {{SEO

TensorFlow.; Оптимізація: TensorFlow Lite.; Результат: категорія, sentiment або score.; TensorFlow має змогу використовуватися для: Підтримуються:

Критично: ML-модель має змогу помилятися, з цієї причини її не можна безконтрольно використовувати в рішеннях, які мають серйозні наслідки для людей або бізнесу.;== TensorFlow Core ==

TensorFlow має і обмеження.;
офіційно затверджений сайт TensorFlow описує платформу як інструмент, що сприяє створювати ML-моделі, які можуть працювати в різних середовищах.; Суть: SavedModel надає можливість перенести навчену модель з етапу експерименту до етапу використання.;
  • починати з надто складної моделі;
  • не перевіряти якість даних;
  • ігнорувати validation set;
  • плутати training і inference;
  • не контролювати overfitting;
  • неправильно нормалізувати інформаційні дані;
  • не зберігати версії моделей;
  • не документувати параметри training;
  • не перевіряти сумісність версій;
  • не тестувати модель після deployment;
  • використовувати модель без моніторингу.; Це загальна платформа для побудови різних ML-рішень.;== Типові помилки користувачів ==
Різниця: training навчає модель, а inference використовує вже навчену модель.;

Див.; додатково

істотно: прискорювач сам по собі не гарантує швидкість.;
tf.data сприяє:

<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
 optimizer="adam",

'''Суть graph-підходу:''' TensorFlow має змогу не лише виконувати код крок за кроком, а й будувати структуру обчислень, яку потім можна оптимізувати і запускати ефективніше.; Репозиторій TensorFlow описує його як end-to-end open source platform for machine learning з екосистемою інструментів, бібліотек і community resources.; * обслуговувати inference-запити;
* працювати з версіями моделей;
* оновлювати моделі;
* інтегрувати ML у production API;
* забезпечувати стабільне розгортання;
* масштабувати inference.; Модель: embedding + neural network або transformer model.; '''Суть training:''' модель поступово змінює свої параметри, щоб краще виконувати задачу на навчальних даних.;<div style="background:#eef2ff; border-left:6px solid #4f46e5; padding:12px; margin:12px 0;">
Keras надає можливість:

TensorFlow.js — це бібліотека для машинного навчання у JavaScript.; Помилка: вважати, що TensorFlow сам по собі вирішує ML-задачу.; Практична роль: у більшості сучасних TensorFlow-проєктів розробник починає саме з Keras, з цієї причини що він значно спрощує створення моделей.; У TensorFlow graph має змогу описувати:

  • Keras fit;
  • custom training loop;
  • tf.data pipelines;
  • GPU;
  • TPU;
  • distributed training.; Задача: класифікувати текст за темою або настроєм.;

TensorFlow має змогу використовуватися разом із Hugging Face.; ]) Основні переважні аспекти TensorFlow:

Inference

  • ліцензію TensorFlow;
  • ліцензії сторонніх бібліотек;
  • ліцензії датасетів;
  • ліцензії pretrained models;
  • обмеження на комерційне використання;
  • права на вхідні інформаційні дані;
  • вимоги до attribution;
  • політики компанії.;
Професійний підхід: TensorFlow потрібно використовувати як частину повного ML-процесу: інформаційні дані, модель, training, evaluation, deployment, моніторинг і документація.; завдяки наявності Основна ідея: TensorFlow користувачі можуть створювати ML-моделі, навчати їх на даних і запускати в різних середовищах: на сервері, у хмарі, на мобільному пристрої, у браузері або в production-системі.;

Python є собою основною мовою для роботи з TensorFlow.; * TensorFlow.js Documentation.; Головна перевага: TensorFlow охоплює весь шлях ML-моделі — від експерименту до production-розгортання.; У машинному навчанні tensors можуть представляти:

TensorFlow.js

  • створення моделей машинного навчання;
  • навчання нейронних мереж;
  • обробки tensors;
  • побудови computational graph;
  • запуску inference;
  • роботи з GPU або TPU;
  • створення production pipeline;
  • розгортання моделей на сервері;
  • запуску моделей на мобільних пристроях;
  • запуску моделей у браузері;
  • підготовки моделей для embedded-пристроїв;
  • експериментів, досліджень і промислового використання.; * класифікація зображення;
  • прогнозування числа;
  • виявлення об’єктів;
  • аналіз тексту;
  • рекомендація;
  • розпізнавання мовлення;
  • генерація результату.;

Класифікація зображень

Практична цінність: хороший input pipeline має змогу суттєво впливати на швидкість training, особливо на великих датасетах.; * отримує вхідні інформаційні дані;

  • робить прогноз;
  • порівнює прогноз із правильним результатом;
  • обчислює loss;
  • рахує gradients;
  • оновлює ваги;
  • повторює бізнес-процес багато разів.; * структуру моделі;
  • ваги;
  • signatures;
  • граф обчислень;
  • інформацію для inference;
  • інформаційні дані для deployment.; * Keras Guide.; Його програмний пакет передбачено TensorFlow Core, Keras, TensorFlow Lite, TensorFlow.js, TensorBoard, TensorFlow Serving, TensorFlow Extended та інші інструменти.;
  • training;
  • matrix operations;
  • deep learning;
  • convolutional networks;
  • transformer models;
  • великі батчі;
  • inference в окремих сценаріях.; !PyTorch

TensorBoard — це інструмент візуалізації для TensorFlow.;== Типові задачі TensorFlow == Training — це бізнес-процес навчання моделі на даних.; * TensorFlow API Documentation.; * Репозиторій TensorFlow на GitHub.; До них належать:

tf.keras.layers.Dense(64, activation="relu"),

Під час роботи з TensorFlow часто виникають типові помилки.; SavedModel — це стандартний формат збереження моделей TensorFlow.; * CPU;

  • GPU;
  • TPU;
  • distributed training;
  • хмарні середовища;
  • локальні робочі станції.;

SavedModel

Задача: запускати модель на телефоні без постійного інтернету.; * створення моделей;

  • обробки даних;
  • training;
  • inference;
  • evaluation;
  • visualization;
  • deployment-підготовки;
  • notebooks;
  • ML-експериментів.; TensorFlow має змогу використовувати апаратне прискорення.; TensorFlow часто порівнюють із PyTorch.; * зображення;
  • текстові embeddings;
  • аудіо;
  • числові ознаки;
  • батчі даних;
  • ваги моделі;
  • проміжні результати обчислень.;

переважні аспекти TensorFlow

TensorFlow — це не лише бібліотека для нейронних мереж, а ціла програмний пакет інструментів для машинного навчання.;== Eager execution == Computational graph — це граф обчислень, у якому операції та інформаційні дані описуються як пов’язана структура.; SavedModel має змогу містити:

Практична роль: Hugging Face часто застосовується як каталог і бібліотечна програмний пакет моделей, а TensorFlow — як один із фреймворків для їх запуску, навчання або розгортання.;
TensorFlow є собою open-source проєктом, але ML-рішення зазвичай складається не лише з TensorFlow.; :contentReference [oaicite:2]{index=2}
  • класифікація зображень;
  • object detection;
  • segmentation;
  • розпізнавання мовлення;
  • text classification;
  • sentiment analysis;
  • рекомендаційні системи;
  • прогнозування часових рядів;
  • anomaly detection;
  • generative models;
  • reinforcement learning;
  • ranking;
  • embeddings;
  • custom neural networks.;== Загальний характеристика ==

Висновок

Приклад простої нейронної мережі:
== Хороші практики роботи з TensorFlow ==
== Приклад моделі з Keras ==
'''Суть:''' TensorFlow не обмежується однією задачею.; * запускати ML-моделі у браузері;
* запускати моделі в Node.js;
* створювати моделі в JavaScript;
* використовувати pretrained models;
* робити inference на клієнтському пристрої;
* створювати інтерактивні вебдемо;
* працювати з ML без Python у браузерному середовищі.;</div>
== Джерела ==
== tf.data ==

'''Tensor'''  це основна структура даних у TensorFlow.;
Для розробника: якщо потрібно почати працювати з TensorFlow, найчастіше варто починати з Python і Keras.;

TensorFlow Serving має змогу допомагати:

TensorFlow містить окремі бібліотеки й розширення для TensorFlow Lite, зокрема інструменти для mobile deployment.; інформаційні дані: тексти з мітками.; :contentReference [oaicite:1]{index=1}

  • офіційно затверджений сайт TensorFlow.;

TensorFlow Lite

Практична роль: TensorFlow Lite надає можливість запускати ML-моделі не лише на сервері, а й безпосередньо на пристрої користувача.; Просте пояснення: tensor — це універсальний формат числових даних, з якими функціонує модель машинного навчання.;
  • починати з простої baseline-моделі;
  • використовувати Keras для швидкого старту;
  • розділяти training, validation і test data;
  • контролювати метрики;
  • використовувати TensorBoard;
  • документувати параметри;
  • зберігати моделі у стандартизованому форматі;
  • перевіряти inference окремо;
  • тестувати модель на реальних прикладах;
  • контролювати версії TensorFlow;
  • перевіряти ліцензії даних;
  • не передавати конфіденційні інформаційні дані без потреби;
  • налаштовувати моніторинг після deployment.; Головна думка: TensorFlow — це не без ускладнень бібліотека для нейронних мереж, а повна ML-екосистема для шляху від експерименту до production-розгортання.; * TensorFlow Libraries & Extensions.; Навчання: TensorFlow/Keras.; Ліцензії моделей, даних і залежностей потрібно перевіряти окремо.;
Production-підхід: TFX потрібен тоді, коли ML-модель має бути частиною стабільного процесу, а не одноразовим експериментом у notebook.;
TensorFlow — це інструмент для створення моделей, але відповідальність за використання моделей залишається за розробниками і організацією.; Перевага eager execution: програміст бачить результат операції одразу, що робить TensorFlow ближчим до звичайного Python-програмування.;
* завантажувати інформаційні дані;
* батчити інформаційні дані;
* перемішувати інформаційні дані;
* кешувати інформаційні дані;
* паралельно обробляти інформаційні дані;
* створювати input pipeline;
* підготувати інформаційні дані для training;
* покращити продуктивність навчання.; '''TensorFlow Extended''' або '''TFX''' — це набір інструментів для production ML pipeline.; Потрібні правильні драйвери, сумісні версії, оптимізований pipeline і відповідний розмір задачі.;<syntaxhighlight lang="text">

* дослідниками;
* ML-інженерами;
* data scientists;
* розробниками;
* освітніми проєктами;
* компаніями;
* командами, які створюють AI-продукти.;
У цьому прикладі: TensorFlow Lite — це інструментарій для запуску моделей машинного навчання на мобільних, embedded та edge-пристроях.;

model.compile(

TensorFlow Core — це основна частина TensorFlow, яка містить базові функціональні можливості для створення, навчання і виконання моделей.; GPU і TPU можуть значно пришвидшувати: Потрібно перевіряти:

loss="sparse_categorical_crossentropy",
Офіційна API-документація TensorFlow зазначає, що TensorFlow має API для кількох мов, але Python API є собою найбільш повним і найпростішим для використання.;

TensorFlow Serving — це інструмент для розгортання навчених моделей як сервісів.; tf.keras.layers.Dense(10, activation="softmax") Результат: локальний inference на мобільному пристрої.;=== Аналіз тексту ===

Computational graph

TensorFlow.js надає можливість:

Eager execution — це режим, у якому операції TensorFlow виконуються одразу, без попереднього створення статичного графа.; )

Суть TensorFlow Core: це фундамент, на якому будуються моделі, тренування, обчислення і робота з даними в TensorFlow.; Задача: визначити категорію зображення.; metrics=["accuracy"] Це комфортно для:

  • створюється послідовна модель;
  • додається прихований шар;
  • додається вихідний шар;
  • задається optimizer;
  • задається loss function;
  • задається метрика accuracy.;
Пояснення: Keras надає можливість описати базову neural network кількома рядками Python-коду.; * TensorFlow Core Guide.; Graph-підхід надає можливість TensorFlow оптимізувати виконання, переносити обчислення на GPU/TPU і розгортати моделі в різних середовищах.;

Мобільний inference

TensorFlow і Python

TensorFlow Core охоплює: import tensorflow as tf

Для production: TensorFlow Serving застосовується тоді, коли модель потрібно стабільно викликати з інших застосунків або сервісів.; Документація TensorFlow Core зазначає, що TensorFlow 2 фокусується на простоті та зручності використання, зокрема завдяки наявності eager execution, Keras high-level APIs і гнучкому створенню моделей.; Inference має змогу виконуватися:

У TensorFlow training має змогу виконуватися через: У TensorFlow корисний для deep learning, Python-розробки, production ML, mobile AI, browser AI, research, inference API, MLOps і масштабованих AI-рішень.;== TensorFlow і PyTorch ==

Приклади:

TFX має змогу використовуватися для:

  • навчання;
  • експериментів;
  • налагодження;
  • покрокової перевірки;
  • швидкого прототипування;
  • зрозумілішої роботи з Python-кодом.;== Тематичні мітки ==

Можливі складнощі:

Рекомендовано: Це означає, що TensorFlow має змогу використовуватися:

Training