Автор оригинала: FreeCodeCamp Community Member.
Кевин Скотт
До недавнего времени просто начать писать свою первую строку учебного кода машинного обучения, требовала огромных инвестиций в аварийное время и деньги.
В прошлом году Я построил свой собственный компьютер специально для машинного обучения. Я исследовал части и собрал ее сам. Просто делать это стоить мне около 1600 и 30 часов установки. Я все еще пытаюсь запустить конфигурацию и библиотеки компьютера и сделать его работать с различными каркасами.
Хорошая новость заключается в том, что начать работу с изучением машины сегодня никогда не было проще. На самом деле, если вы читаете это, это означает, что у вас уже есть инструменты, которые вам нужно погружаться прямо в. Теперь вы можете изучить Tensorflow Tensorflow Machine Machine Tramework в вашем браузере, используя JavaScript.
Tensorflow.js.
Google Выпущено tensorflow.js У Google I/O 2018 года. Есть Некоторые огромные случаи использования S для бегущих алгоритмов обучения машины в браузере.
Кроме того, это отличная возможность использовать JavaScript для изучения концепций обучения машины без необходимости устанавливать вещь.
Если вы новичок в JavaScript, или если пройдет некоторое время, поскольку вы написали любой интерфейсный код, некоторые из последних изменений в экосистеме JavaScript могут бросить вас на петлю. Я перечислю основы современного JavaScript, вам необходимо получить примеры Tensorflow.js и начните изучать машинное обучение.
Учебное пособие
Позвольте мне повторить что-то: Все, что вам нужно запустить tensorflow.js – ваш веб-браузер Отказ
Среди всех разговоров о транспортировках, Bundlers и Packagers легко потерять, но все, что вам нужно, это веб-браузер для запуска Tensorflow.js. Код, который вы разрабатываете локально, тот же код, который вы сможете отправить своим пользователям, чтобы запустить на своих браузерах.
Давайте посмотрим три быстрых способа получить пример Hello World, работая без установки ничего. Я буду использовать Начало работы Код от документации Tensorflow.js.
Начало работы с консолью браузера
Каждый современный веб-браузерные корабли с какой-то интерактивной консолью JavaScript встроены. Я использую Chrome, который включает в себя консоль JavaScript, которую вы можете открыть с «View> Developer> Console javaScript».
Этот JavaScript Console позволяет вам писать JavaScript и выполнить его немедленно. Мы будем использовать это, чтобы запустить пример работы от Tensorflow.js Документы Отказ
Во-первых, вам нужно будет включить файл Tensorflow.js javaScript. Хостированная версия файла доступна через Сеть доставки контента (CDN) ниже. Быстрый способ включить внешний .js
Файл через консоль:
var script = document.createElement('script');script.src = "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.10.0";document.getElementsByTagName('head')[0].appendChild(script);
Скопируйте и вставьте это в свою консоль JavaScript, и у вас будет копия Tensorflow, сохраненная как переменная TF
Отказ (Если вы вводите TF
в вашей консоли, вы увидите ссылку на него).
Затем вы можете скопировать и вставить оставшуюся часть прибора для начала работы (JavaScript между Tag Tag), вставляя тег), вставляя его непосредственно в вашу консоль.
Начало работы с платформой хостинга JavaScript
Альтернативный подход – использовать онлайн-платформу JavaScript JavaScript. Три популярных из них Кодепен , Jsfiddle и Jsbin Отказ Эти платформы могут автоматически включать в себя скрипты для вас и позаботиться о трансформировании вашего кода в браузере, что заставляет начать CINCH.
Вы можете просмотреть В следующем примере на кодепене увидеть реализацию, работающую. Обязательно открыть консоль браузера, как объяснено выше, чтобы увидеть вывод.
Начало работы локально
Третий вариант для получения Tensorflow.js работает включает в себя сохранение кода как .html
Файл и открытие его локально на вашем компьютере. И вам не нужен веб-сервер, чтобы сделать это!
Скопируйте HTML-код в файл и откройте его в веб-браузере. Например, если вы сохраните файл на рабочий стол, и вы на Mac, вы можете открыть его в вашем браузере со следующим URL-адресом:
Файл:///users/yourname/desktop/sampple.html.
Важно отметить, что просмотр файлов HTML таким образом вводит ограничения, включая проблемы со ссылкой на относительные ссылки, обрабатывающие вызовы AJAX и безопасность, среди прочего. Но это быстрый и простой способ получить что-то бегать в вашем браузере.
Современный рабочий процесс разработки JavaScript
Надеюсь, на этот момент вы можете увидеть, как легко получить что-то простое, чтобы появиться в вашем браузере. Если вы начнете смотреть на примеры Tensorflow.js, вы можете думать:
- Как я могу организовать мои файлы?
- Как мне управлять сторонние библиотеки в моем коде?
- Что с этими синтаксисами ошибок?
Как только вы выходите за пределы основного примера «Hello World» выше и в некоторые другие примеры, вы начнете столкнуться с проблемами синтаксиса и вопросов организации. Вот где сильный трубопровод JavaScript станет вашим лучшим другом.
Немного истории JavaScript
Поскольку наши ожидания для веб-приложений выросли за последнее десятилетие, передняя экосистема взорвалась в сложности.
В частности, JavaScript много созрел в качестве языка программирования, принимая ряд изменений вперед-мышления, продолжая поддерживать одну из крупнейших пользователей любого языка программирования.
Новые изменения в спецификации языка ссылаются на аббревиатуры, такие как ES5, ES6, ES2015 и E2016.
‘Es’ обозначает eCmascript, а JavaScript основан на этом стандарте Отказ Числа 5 и 6 традиционно использовались для обозначения версий стандарта, но в настоящее время годы используются для дополнительной ясности.
Современная поддержка браузера для ES6 – это пятнистое Отказ Некоторые передовые или предлагаемые функции еще не поддерживаются, а более старые браузеры (в частности Internet Explorer) никогда не будут поддерживать последнюю спецификацию.
Из-за этой нестабильности, если вы хотите достичь самой широкой аудитории, вы используете что-то называемое A Bundler или транспортер Отказ Это программное обеспечение, которое преобразует ваш код JavaScript, написанный современными удобствами в версию с широко распространенным усыновлением. ES5 широко поддерживается, и, как правило, является хорошей целью.
Многие примеры Tensorflow.js используют новый синтаксис, который еще не поддерживается в браузерах и требует транспилирования. Я объясню синтаксис сначала, а затем объясни, как их заставить работать.
импорт и экспорт
Импорт
и Экспорт
Недавно добавлены два бита синтаксиса в JavaScript для импорта модулей. Сага модулей JavaScript – Долго и обмотка , но Сообщество в основном поселилось на Импорт
над требуется
Отказ
К сожалению, по состоянию на май 2018 года, Импорт
Не поддерживается никакими браузерами, поэтому использовать его необходимо использовать транспортер.
В разделе «Начало работы» вы увидите пример Импорт
Аванс:
import * as tf from '@tensorflow/tfjs';
Это в основном так же, как:
var tf = require('@tensorflow/tfjs');
Вы также можете увидеть что-то вроде:
import { util, tensor2d } from '@tensorflow/tfjs';
Эквивалент с использованием требуется
является:
var tf = require("@tensorflow/tfjs");var util = tf.util;var tensor2d = tf.tensor2d
async и ждать
JavaScript традиционно использовался в значительной степени с УВИ, который выполняет много асинхронных действий. На протяжении многих лет было три широких образца для обработки асинхронного кода: Обратные вызовы, обещания и Async/ждут Отказ
async
/ ждать
обеспечивает способ определения асинхронных функций в синхронном виде. Многие из примеров Tensorflow.js использовать это async
/ ждать
синтаксис.
Вот две версии одного и того же кода, первый написанный с async
/ ждать
, второе использование обещаний:
// With async/awaitasync function loadMobilenet() { const mobilenet = await tf.loadModel( 'https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_0.25_224/model.json'); // Return a model that outputs an internal activation. const layer = mobilenet.getLayer('conv_pw_13_relu'); return tf.model({inputs: model.inputs, outputs: layer.output});});// With promisesfunction loadMobilenet() { return tf.loadModel('https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_0.25_224/model.json').then(function (mobilenet) { // Return a model that outputs an internal activation. const layer = mobilenet.getLayer('conv_pw_13_relu'); return tf.model({inputs: model.inputs, outputs: layer.output}); });});
Оба этих языка особенности – Импорт
/ Экспорт
и async
/ ждать
– Сделайте запись JavaScript более приятным. Давайте посмотрим на инструменты, которые нам нужно использовать их в нашем собственном коде.
JavaScript Tooling.
В разделе «Начало работы» вы увидите эту записку:
Давайте поговорим о сборке инструментов.
Бабки
БУндбардирует на роль дирижера оркестра растущих интерфейсных кодовых базов. Bundler – это программа, которая принимает ваш код JavaScript и «пучки» в совместимом файле для браузера.
Будучит также будут транспильным кодом (конвертировать код ES2018 в ES5, а также другие диалекты, такие как React или Teadercript, используя что-то вроде Babel ), настроить «горячую перезагрузку» для обновления браузера с изменениями кода без перезагрузки страницы, а также Многие другие вещи, чтобы лучше сделать фронт-концерту.
Грунт и Гульп Раньше были популярными баблянами, но недавно выпали из одолжения на WebPack Отказ Другие бундлеры включают посылка и Роллап Отказ Примеры Tensorflow.js используют посылка
Отказ
Менеджеры пакетов
Часто при столкновении библиотеки JavaScript вы увидите инструкции по установке, такие как пряжа add @ tensorflow/tfjs
или NPM Установка @ tensorflow/tfjs
Отказ
пряжа и NPM оба управляющими пакетами. Это инструменты командной строки, используемые для установки и отслеживания ваших сторонних JavaScript зависимостей.
пряжа
и NPM
Довольно похожие, и решение которого использовать, в значительной степени зависит от личных предпочтений (хотя вы найдете много горячих дебатов в Интернете, если вы в этом в этом роде).
Либо из них сохранит ваши зависимости в Package.json
Файл, который должен быть проверен в ваш репозиторий Git. Этот файл позволит другим разработчикам быстро установить все необходимые зависимости для вашего проекта и быстро запускаться.
Чтобы получить все эти вкусности, первый шаг должен установить NPM
или пряжа
вместе с Node.js
Отказ Как только те, которые находятся на месте, вы можете следовать инструкциям по любому из примеров Tensorflow.js, и они должны работать из коробки. Обычно настроен новый интерфейсный проект, использующий эти инструменты, является одним из шагов.
Обертывание
Опять же, вам не нужны какие-либо из этих инструментов для работы с этими примерами, но использование их делает вещи намного проще. Если вы намерены делать какие-либо серьезные разработки JavaScript, я бы побудил вас играть с этими инструментами, а также другие популярные инструменты JavaScript, такие как Реагировать и Tymdercript , которые делают обращение с более крупными кодовыми базами намного лучше.
Первоначально опубликовано в thekevinscott.com.
Особая благодаря Ари Зильнику.