Глава 2. Приступим: простая линейная регрессия в TensorFlow.js
89
•
ui.js
— реализация точек подключения UI для связывания элементов UI с вы
полняемыми действиями; описание настроек графика;
•
normalization.js
— численные процедуры (например, для вычитания из данных
среднего значения);
•
package.json
— стандартное описание пакета npm, содержащее информацию о зави
симостях, необходимых для сборки и запуска примера (в частности, TensorFlow.js!).
Обратите внимание, что мы не следуем стандартной практике размещения HTML
и JavaScriptфайлов в отдельные каталоги в соответствии с их типом. Хотя подобная
практика и рекомендуется для более крупных репозиториев, для маленьких примеров из
этой книги и репозитория
http://github.com/tensorflow/tfjs-examples
она скорее все усложняет.
Для запуска примера воспользуйтесь Yarn:
yarn && yarn watch
В результате должна открыться новая вкладка браузера, указывающая на один
из портов
localhost
, где будет выполняться этот пример. Если ваш браузер не от
реагирует автоматически, можете самостоятельно перейти по URL, указанному в ко
мандной строке. Нажмите кнопку
Train Linear Regressor
(Обучить линейный регрессор).
Это запустит процедуру создания линейной модели и ее обучения на данных набора
Bostonhousing, а затем выведет анимированный график потерь для обучающего
и контрольного наборов данных после каждой эпохи, как показано на рис. 2.11.
В оставшейся части раздела мы рассмотрим основные вехи создания этого примера
вебприложения для бостонских цен на недвижимость. Сначала мы обсудим, как эти
данные собираются и обрабатываются для работы с TensorFlow.js. А затем сосредо
точим свое внимание на создании, обучении и оценке модели. И наконец, продемон
стрируем использование нашей модели для реальных предсказаний на вебстранице.
2.3.3. Доступ к данным о бостонских ценах
на недвижимость
В первом проекте (см. листинг 2.1) мы жестко «зашили» данные в виде JavaScript
массивов и преобразовали их в тензоры с помощью функции
tf.tensor2d
. Такой
вариант подходит для маленького демонстрационного примера, но, разумеется, не мас
штабируется на большие приложения. Обычно JavaScriptразработчики имеют дело
с данными, размещаемыми в какомлибо сериализованном формате по какомуто URL
(возможно, локальному). Например, набор данных о бостонских ценах на недвижи
мость доступен всем бесплатно в формате CSV в Google Cloud по следующим URL:
z
z
https://storage.googleapis.com/tfjs-examples/multivariate-linear-regression/data/train-data.csv
;
z
z
https://storage.googleapis.com/tfjs-examples/multivariate-linear-regression/data/train-target.csv
;
z
z
https://storage.googleapis.com/tfjs-examples/multivariate-linear-regression/data/test-data.csv
;
z
z
https://storage.googleapis.com/tfjs-examples/multivariate-linear-regression/data/test-target.csv
.
Do'stlaringiz bilan baham: |