Краткое вступление в TensorFlow.js

kratkoe vstuplenie v tensorflowjs?v=1656612489

автор Пау Павон

uSoZAymZzFUzkM3pLLq2gcdCwr0XI8J0Vsju
Фото Фабиана Гроса на Unsplash

TensorFlow существует уже некоторое время. Однако в прошлом месяце он был доступен только для Python и нескольких других языков программирования, таких как C и Java. И вы можете подумать, что этого будет предостаточно.

Я слышал о TensorFlow в прошлом. Хотя я ничего не знал о машинном или глубоком обучении, я был почти уверен, что это одна из наиболее используемых фреймворков для этих целей. Я видел много крутых вещей, сделанных с ним: обнаружение объектов на изображениях, распознавание речи и даже создание музыки!

Представьте, что вы можете делать все эти крутые вещи ML в обозревателе, не устанавливая никаких библиотек и не заставляя снова и снова компилировать все эти строки кода. Что ж, как раз для этого и пришел TensorFlow.js.

Если вы хотите узнать больше о том, как и почему этот удивительный фреймворк ожил, вы можете проверить TensorFlow здесь на Medium!

Итак, как только я это обнаружил, я захотел начать изучать, как работает TensorFlow.js. И это именно то, что я начал делать: я нашел на Youtube набор все еще продолжающихся учебников The Coding Train (на самом деле они только начались), и я начал немного возиться с вещами.

Я хотел бы кратко ознакомить вас с TensorFlow (TF), чтобы вы могли следить за мной на моем пути и учиться вместе со мной.

Основы TensorFlow.js

Давайте начнем! Прежде всего, вы должны знать, что вся документация находится на веб-сайте TF в разделе API Reference.

Но подождите, почему он называется TensorFlow? Что такое тензор?

Рад, что ты спросил. В основном тензор – это структура чисел. В математике существуют разные способы представления чисел. Вы можете иметь только число, вектор, матрицу и т.д. Тензор – это лишь общий термин для всех этих разных представлений данных.

В TF тензоры дифференцируются из-за них званиеили, другими словами, количество размеры они не имеют.

Это самые распространенные:

Скаляр (ранг-0)

Простое число. Вот как вы можете создать его и зарегистрировать его в консоли:

tf.scalar(4.5).print();

А выход такой:

Tensor  4.5

Tensor1d, tensor2d, tensor3d и tensor4d (ранг 1, 2, 3 и 4 соответственно)

Это тензоры более высокой размерности. К примеру, если вы хотите создать тензор ранга 1, вы можете просто сделать:

tf.tensor1d([3, 7, 8]).print();

Что выведет:

Tensor  [3, 7, 8]

Тензор (ранг-n)

Если вы не знаете размеры своего тензора, вы можете просто создать его с такой функцией (обратите внимание, как два вышеприведенных примера так же хорошо работают с этим другим методом):

tf.tensor(4.5).print();tf.tensor([3, 7, 8]).print();

Это выводит точно так же, как и раньше.

Кроме того, этим функциям можно передать еще несколько параметров.

tf.tensor(значение, форма?, dtype?)

Давайте посмотрим ценности сначала. Это единственный обязательный параметр и единственный, который мы передавали в предыдущих примерах. Вы можете передать плоский массив значений (или даже одно число в скалярах) и указать форму самостоятельно или вы можете передать вложенный массив.

Теперь вам может быть интересно, что форму есть Итак, допустим, вы хотите вывести следующий тензор:

[[1, 5], [4, 7]]

То есть вы правильно догадались, матрица 2×2. Вы можете создать этот тензор, передав плоский массив и указав форму как второй параметр функции

tf.tensor([1, 5, 4, 7], [2, 2]).print();

или путем передачи вложенного массива

tf.tensor([[1, 5], [4, 7]]).print();

Наконец, имеем dtype. Это определяет тип данных. а пока int32, float32 и bool есть три поддерживаемых типа.

Операции

Но что вы можете сделать с этими тензорами? Ну, кроме всего прочего, вы можете производить с ними математические вычисления, например, арифметические действия:

Примечание: следующие операции выполняются поэлементно, что означает, что каждый член первого привлеченного тензора ассоциируется со сроком на том же месте в другом тензоре.

const a = tf.tensor1d([4, 7, 2, 1]);const b = tf.tensor1d([20, 30, 40, 50]);

Есть два способа добавить эти два способа:

a.add(b).print();

или,

tf.add(a, b);

Оба вывода:

Tensor  [24, 37, 42, 51]

Вот как они работают для вычитания,

tf.sub(a, b).print();
Tensor //output  [-16, -23, -38, -49]

умножение,

tf.mul(a, b).print();
Tensor //output  [80, 210, 80, 50]

и разделение:

tf.div(a, b).print();
Tensor //output  [0.2, 0.2333333, 0.05, 0.02]

Это достаточно просто и понятно.

Попробуйте сами!

Если вы этого еще не сделали, я призываю вас попробовать приведенное выше самостоятельно. Это самый простой материал в TF, но эти понятия являются ключевыми для понимания более сложных (и более веселых) его частей.

Спасибо, что прочли!

Редактировать: просмотрите список воспроизведения ADL на Youtube на TensorFlow, я уверен, что он вам поможет!

Добавить комментарий

Ваш адрес email не будет опубликован.