Press "Enter" to skip to content

GOTO 2017 • Machine Learning with TensorFlow and Google Cloud • Vijay Reddy


[Музыка]
поэтому меня зовут Виджей. Я машина
специалист по обучению Я работаю в Google
надеюсь, что у вас сегодня хороший день
насколько много людей видели последний разговор
в этой комнате смысл разговоров о жизни
хорошо, и на самом деле это хорошо
естественный переход в этот разговор, потому что
этот разговор был чем-то вроде великого
великое видение искусственных
разведка — некоторые из основных этапов
и этот разговор будет очень
практические знания, если вы и
аудитория хочет построить машину
обучения модели , как вы делаете , что так
кредит организаторам конференции за
планируя это так, сколько людей
построили модель машинного обучения
прежде чем хорошо, и сколько людей
специально использовались или, по крайней мере, играли
вокруг с тензорным потоком, прежде чем хорошо хорошо
поэтому поток этой беседы будет
первые 15 минут или около того будут
слайды, и тогда мы собираемся провести
большую часть времени фактически строили
машина модель обучения встык я буду
на самом деле показать , что код выполняет
кода это будет самый большой экран
что я когда-либо запускал код в реальном времени
надеюсь, что это не слишком сильно
когда я говорю « сквозное» машинное обучение
трубопровод, вот что я имею в виду
вы начинаете с набора необработанных данных, который вы делаете
некоторая предварительная обработка этого набора данных
то вы обучаете свою модель, которую вы развертываете
эта модель в каком-то месте в этом случае
мы собираемся развернуть его в облаке
и вы выполняете некоторые прогнозы против
эта модель и, в частности, проблема
что мы будем работать над
прогнозируя цены на жилье, чтобы мы
на самом деле начать с необработанного CSV-файла и
затем пройти весь набор
инструкции там, прежде чем мы входим в
что всего лишь пару слайдов о машине
обучение в Google, поэтому большинство из вас
вероятно, знают, что машинное обучение
довольно важны для того, что мы делаем как
компания, мы в конечном счете компания данных
и так это график , который показывает
рост моделей машинного обучения в
в Google с течением времени, чтобы вы
может видеть даже в Google еще в 2012 году
был для нас очень новым и быстро перешел на
сегодня у нас есть более 4000 машин
модели обучения в производстве и
дошел до того момента, когда
Ускорение обучения в Google стало
ожидаемый набор навыков для каждого разработчика
чтобы у вас не было специального набора
ученых-исследователей данных здесь и далее
ваши веб-разработчики здесь машина
знание становится все более распространенным
знание Java или Python в Google
и мы предлагаем учебные курсы и
программы для каждого инженера-программиста
в пределах Google, чтобы получить
в этом поле, так что некоторые из них
продукты, которые мы используем
обучение в нем происходит почти в каждом
один из наших потребительских продуктов , так облицовочный
это большая часть рейтинга в нашей
алгоритм поиска с использованием алгоритма
называется rankbrain поиск Google изображение
опирается на машинное обучение Gmail спам
классификации есть новая функция в
Gmail, которые некоторые из вас видели
называемый интеллектуальный ответ, где он фактически
пытается предсказать соответствующий ответ
на ваш адрес электронной почты, поэтому вам не нужно вводить
это вручную, что очень полезно
тогда, когда мы говорим о облаке Google
платформу , представляющую
экстернализация всего этого внутреннего
работы, которые мы сделали на наших собственных продуктах, поэтому
у нас очень большие исследовательские группы в
Только в прошлом году мы опубликовали более 300
научно-исследовательские работы в высших учебных заведениях
журналы о машинах и
мы сделали, мы взяли некоторые из этих
моделей и сделали их доступными для
общественность так что все , что формы попадает в
Google облачная платформа зонтик и
Вы можете сформировать подразделение в том , что на
на левой стороне у вас есть свой обычай
модели машинного обучения и справа
у вас есть ваша предварительно обученная машина
поэтому большинство этих разговоров
будет о том , как вы построить
модель пользовательского машинного обучения
но я хочу немного коснуться
на обучении перед обучением
, чтобы вы знали, что это такое и как
использовать их и когда вы будете использовать их
поэтому эти модели машинного обучения
обычно как общий принцип вы
всегда хочу начать с самого простого
решения и при необходимости добавить сложность
поэтому есть некоторые проблемы, которые вы можете
решить без создания модели вообще
и если вы можете это сделать, то это то, что
вы хотели бы сделать, потому что есть
гораздо меньше инженерных усилий, чем вы
не нужно изобретать велосипед и
все это очень низкий барьер для входа
вы действительно можете испытать эти
даже не нужно облачную учетную запись Google
вы просто заходите в свой браузер, идите в
соответствующую страницу, поэтому этот пример здесь
API нашего видения, и вы можете просто перетащить
образ, и он покажет вам, что именно
он вернется так в этом случае
это дает мне кучу ярлыков о
это изображение с оценкой достоверности для
каждый из них так, например , это 85
процентов уверенности , что это
подвесной мост есть некоторые другие
Здесь есть достопримечательности
функция, которая фактически распознает определенные
поэтому он знает, что это
в частности мост Золотые ворота в
Сан- Франциско, и это дает мне
lat / long и когда вы
назовите его над остальными api, вы получите
ваши результаты в этом формате JSON, и вы
может интегрировать его в ваше приложение
как вы считаете нужным
поэтому лучший способ подумать об использовании
эти предварительно подготовленные апи являются как lego
блоков очень маловероятно, что один
предварительно обученная модель решит вашу
конкретная проблема сама по себе
потому что по характеру предварительно подготовленного
модель, которую они обучают данным Google
он пытается быть одноразовым
решение, поэтому мы готовим массивные данные
но это очень
обобщенного набора данных и в вашем
приложения вы работаете на очень
особых проблем
вот пример клиента из
Япония, которая построила платформу для проведения аукциона
и они хотели добавить
когда они загружали
образ автомобиля у них будет API
которые вернут определенную информацию
об этом автомобиле, чтобы он сказал вам, что
это модель автомобиля, что является моделью
автомобиля, если это определенная часть
автомобиль, какая часть его есть, это
покрывает рулевое колесо, а также то, что
сторона автомобиля, на которую вы смотрите, — это
вы смотрите спереди или слева или
право автомобиля и причина того, что
это было важно, потому что именно так
они классифицировали эти изображения для своих
потребители смотреть на на сайте так
до машинного обучения они имели
человек, чтобы войти и пометить каждый из этих
изображения и это левая сторона
Ford Focus и т. Д., Очень трудоемкий и
они хотели попробовать использовать машину
обучение автоматизировать это и то, что они
сначала была распространенной ошибкой, которая
пытается создать единую модель, которая
решает всю проблему, которая плюет
из всей информации, что они
заботиться об одной модели, и они
инвестировали некоторые важные разработки
и в итоге отказались , потому что
модель просто не давала результатов
что им нужно, они сделали шаг
назад и сказал, что, если мы сломаем это в
несколько частей, поэтому они сказали, что сначала
давайте использовать предварительные модели Google и
Посмотрите, как далеко это дает нам нас
они управляли своими изображениями через наше видение
API, который является нулевой
их часть, потому что мы уже сделали
модель и разоблачили ее, и они
заметил , что все это часть проблемы
он рассказывает вам, что такое автомобиль
но не то, что является конкретной моделью, и это
также может определить, какую часть автомобиля он
это шина или это рулевое управление
но то, что он не мог сделать, это
Например, скажите, что вы — левая сторона или
правой стороне автомобиля, потому что это просто
не было обучено делать это так сейчас, когда
вы ограничиваете масштаб проблемы до
просто , что это на самом деле довольно легко
создать пользовательскую модель, которая делает это
используя фреймворк, подобный тензорному потоку
вы получаете тысячу изображений левой стороны
автомобилей и тысячи изображений справа
стороны автомобилей разные
типы автомобилей и поместить их через
нейронной сети, и вы получаете довольно
надежный алгоритм, который теперь может
разница между левым и правым
стороне автомобиля, и это решает часть
проблема, поэтому они сделали это в
поэтапный подход, а затем агрегированный
информация от каждого из этих
отдельные модели этих малых моделей
решить общую бизнес-проблему и
они попали туда, где хотят
быть гораздо быстрее и чище
так что это действительно так, как вы должны
думать об этих проблемах много
раз вы можете сделать их модульными и
серия меньших простых моделей может
совокупность для решения того, что вы пытаетесь
решите, так, чтобы это было предварительно подготовлено
модели теперь предположим, что вам нужно
создать пользовательскую модель обучения машинам
вы ограничены его масштабом
как можно использовать вещи, которые были
уже построены, поэтому вы не изобретаете
колесо , но , как правило , есть по крайней мере ,
часть, которую вы должны создать
и когда я говорю обычай, это означает, что вы
обучение по вашим собственным данным, которые вы пишете
ваш собственный код и рамки, которые мы
в Google, внутренне используемом для этого типа
вещь называется напряжение потока так
тензорный поток — это то, что, вероятно,
большинство из вас слышали , что казалось,
от четверти до трети комнаты
на самом деле уже
все то, что представляет собой тензор тензорного течения потока, является
система обучения механическому обучению
был открытым исходным кодом от Google в ноябре
2015, и поскольку он был открытым исходным кодом
он стал самой популярной машиной
и я буду говорить о
некоторые причины, по которым это могло стать
так популярен, поэтому стоит
отметив, что популярность
Сам тензорный поток является большой причиной для использования
это потому, что с популярностью становится
экосистеме разработчиков, поэтому, если вы работаете
на проблемы скорее всего кто — то
уже решена проблема, подобная ей
используя тензорный поток, и вы могли бы сделать
поиск, и вы найдете сообщение в блоге, если
не официальный учебник по тензорному потоку
показывая вам шаблон кода, и вы можете
использовать это для загрузки собственного проекта
так что это очень ценное и
вторая вещь есть
если вы застряли или вы столкнулись с ошибкой
когда вы отправляете его на что-то вроде
Переполнение стека, потому что есть такой
большое сообщество вокруг него вы
как правило , собираются , чтобы получить ответ быстрее
чем если вы используете меньшее использование
так что популярность
большой актив в этот момент еще одна причина
этот тензорный поток популярен в этой идее
что вы можете запрограммировать его на разных
уровни абстракции, поэтому, если вы не
нужно много контроля над вашим
алгоритм, если вы не исследователь
это то, что настраивает ваш алгоритм
вплоть до очень тонкого уровня детализации
то вы можете абстрагироваться от
что использование API более высокого уровня
Керрис , которые некоторые из вас , возможно, слышали
или как API-интерфейс оценки, который
на самом деле код, который я покажу
позже в разговоре, и это позволяет вам
делать такие вещи, как просто использовать цитату
unquote консервированная модель, которая предварительно
для вас он уже имеет
Созданный цикл обучения уже имеет
цикл оценки, встроенный и только с
пару строк кода , вы называете это и
это экономит вам много работы, но если вы это сделаете
нужна дополнительная гибкость, которую вы можете
вниз по уровню в иерархии к этим
нижние уровни в конечном счете до
уровень базового ванильного тензора, где
вы явно определяете свои матрицы
и умножение матриц на
это указывает еще одну причину входа в поток
является популярным, потому что это
производство готовых
поэтому причина, по которой Google создала тензорный поток
в первую очередь потому, что
исторически глубокое обучение
структуры , которые существовали в то время все
вышел из академических учреждений, поэтому MX
сеть вышла из Carnegie Mellon dno пришла
из Университета Монреальского кафе
вышел из Университета Беркли
и если вы думаете о потребностях
академический исследователь сильно отличается
от потребностей кого-то, кто находится в
промышленность
поэтому исследователь своей мотивацией
по сути, прототипировать что-то такое
что они могут доказать теорию публикации
эта теория в академическом журнале и
затем переходите к чему — то еще, чтобы
нет реальной мысли о том, как я могу
масштабируйте эту модель, сколько пользователей
собираюсь поразить его, что такое моя безопасность
соображения и тому подобное, так
когда Google начал попадать в эту машину
познавая пространство, зная, что все
они должны были использоваться
миллионы пользователей , которых они должны были создать
инструмент для решения этой проблемы, который не
существуют прежде, чем все эти вещи, как
обслуживание в латентности — это первый класс
граждане и тензор
и они встроены в инструмент, так что это
очень эффективны, и вы также можете развернуть
это на разных типах оборудования, поэтому
вы пишете свой код один раз, а затем вы
может развертывать его на процессоре или графическом процессоре или на
мобильного телефона Android или iOS или даже на
встроенные устройства, такие как Raspberry Pi и
конечно, алгоритмы, поэтому главная причина
что вы используете машинное обучение
рамки, так что вам не нужно
повторно реализовать алгоритмы, которые уже
хорошо известны и хорошо зарекомендовали себя в
так что это пример
API-интерфейс обнаружения тензорного потока
это алгоритм, который идентифицирует метки
в изображении и не только это, но
он рисует ограничивающие прямоугольники вокруг этих
этикетки, так что это намного сложнее проблема
чем исходный тип компьютера
проблема зрения, которая была изображением
классификация , которая скажет мне, что
там есть кайт в изображении где-то
но он не сказал бы мне, где
изображение, которое кайт было или не скажет
меня, сколько змеев в этом изображении так
это алгоритм , который вышел из
Исследование Google, а затем мы открываем источники
результаты этого через тензорный поток, поэтому
теперь вы можете реально использовать это
алгоритм с несколькими строками кода и
если вы просто выполните поиск Google за десять
к API обнаружения потока объектов вы увидите
сообщение в блоге, в котором говорится, как это сделать
что
и вот еще один пример этого
Идея широкого и глубокого алгоритма
дольше считалось
современное состояние, но когда оно вышло
Тензорный поток был первой популярной фразой
рамки для вида распространения этого или
демократизировать этот тип моделирования для
цитата не цитирует обычного человека, поэтому идея
расширенные глубокие модели, у вас есть это
под названием глубокое обучение, которое работает
очень хорошо для плотных наборов данных, и вы
имеют линейные модели, которые работают очень хорошо
для разреженных наборов данных и идея
довольно простой , который является то , что если мы соединим
лучшее из обоих миров, и
глубокая работа над плотными функциями
и широкая модель работы на редких
а затем объединить результаты в
конец, который называется расширенным глубоким
и это был еще один пример
алгоритм, который на самом деле является тензорным потоком
доведено до всеобщего сведения
скорость, конечно, когда вы думаете
о развертывании чего-то для производства
особенно если это приведет к
веб-сайт или у вас есть какое-то время в реальном времени
необходимо для этого, тогда производительность становится
Очень важно , чтобы оттенки поток очень
прозрачно о своих контрольных показателях на
разные проблемы, как он масштабируется
горизонтально, и вы можете перейти к
Эффективность косой черты dotorflow dot org
тесты и просто увидеть тесты мы
и точно посмотрим, что
и как он сравнивает и
то последнее, что я скажу о
поток растяжения является причиной того, что он может
у вас есть этот компромисс между собой:
разработчик, написанный на языке
как Python, который считается
разработчик дружелюбен, но традиционно
считается медленным, но также очень эффективным
это потому , что выход вашего tensorflow
Код Python — это то, что мы называем данными
график потока, который выглядит так и
это на самом деле визуализируется с помощью инструмента
называемый растягивающей доской, который я также
демо и этот график просто
серии инструкций, которые затем
интерпретируется C ++ back end и
C ++ назад и заботится о том, как я могу
скомпилируйте этот код очень быстро и
специфические для типа оборудования, которое
Мне поручено работать ,
например, CPU или GPU
так что тензорный поток является основой, почему
вы хотели бы использовать это для своего
моделирование пользовательского машинного обучения и
то почему Google Cloud machine learning
двигатель, поэтому в основном, почему бы вам
это в облаке, поэтому первое, что нужно сделать
состояние здесь много раз вы не
нужно сделать это в облаке , как правило
если вы можете обучить свою модель в
под час на локальном ноутбуке просто
придерживайтесь локального ноутбука, но на некоторых
указать , если вы используете достаточно большие объемы данных
наборы или вы используете достаточно сложные
алгоритмы, которые вы собираетесь поразить
узкое место, где время обучения
ваш компьютер час вашего компьютера
по сути становится узким местом для
творчества и развития, и это будет
не позволяйте вам пробовать разные идеи или
это остановит проблему от
в целом, и это когда вы
хотите перейти на облачные вычисления
потому что по существу у вас есть доступ
суперкомпьютеру через Интернет
соединение и инструмент, я на самом деле
использование сегодня называется Google Cloud
механизм машинного обучения, который является
управляемая служба тензорного потока, и это дает
вы, например, приятные вещи
делает горизонтальное масштабирование очень легко вы
просто укажите, что я хочу запустить это через
десять GPU и Google позаботятся о
развитие инфраструктуры для вас
предоставление виртуальных машин и
затем откручивайте их, когда ваша работа
он имеет автоматический гиперпараметр
автоматическая настройка функции настройки
встроенное автоматическое масштабирование
услуги прогнозирования и в ближайшее время
у вас будет доступ к обработке тензоров
единицы, о которых я расскажу на следующей
слайд и нет блокировки
так как тензорный поток является открытым исходным кодом
когда вы тренируете свою модель даже
если вы используете наш продукт в качестве своего
суперкомпьютер, чтобы дать вам мощность
завершить эту подготовку в
разумное количество времени
результат этого является открытым исходным кодом
поэтому вы можете скачать эту модель, которую вы можете
разверните его на телефоне, который вы можете развернуть
в помещении вы можете развернуть его в любом месте
вы хотите, и обратное верно, так как
хорошо вы можете тренировать свой поток напряжения
на вашем местном ноутбуке, но вы можете
развернуть его в наше облако только для
службы прогнозирования, потому что, может быть, вы
ожидая сотни тысяч
прогнозы прогнозирования в секунду и
вы не хотите создавать свои собственные
инфраструктуры, чтобы справиться с этим, чтобы вы могли
поездить по помещению и
предсказание в облаке
блок обработки тензоров для тех из вас
которые не слышали об этом, это было
аппаратное обеспечение, которое
интеллект, который победил
если вы слышали о том, что это также
полномочия Google Translate и кучу
других внутренних приложений, и мы
теперь сделали это доступным для
общественность в альфе в этот момент и просто
аппаратное сравнение, чтобы дать вам вид
насколько сильны эти вещи
блок обработки тензора может обрабатывать 180
триллион операций с плавающей запятой в
второй — графический процессор Nvidia K 80 Tesla kad
который является своего рода де-факто облачным графическим процессором
на данный момент это девять терафлоп, так что это
становится фактически более важным для
чем обучение, потому что в
тренировка всегда может просто масштабироваться
горизонтально, чтобы вы могли использовать 20 Nvidia
K ATS, и вы получите такую ​​же скорость, чтобы
используя один TP , вы просто должны
выполнить расчет цены, но
когда дело доходит до вывода также в тех
время прогнозирования, и вам нужно получить это
вернуть за миллисекунды
накладные расходы на горизонтальные вычисления
на самом деле это больше будет забирать вас
из вашего требования в реальном времени, так что
это вертикальное масштабирование точки на одном
чип становится важным, и именно тогда
эти усовершенствованные чипы, такие как TPS, становятся
более важно хорошо так далее , чтобы фактическое
проблема, что мы собираемся построить
решение антенны для того, что мы собираемся
действительно прогнозируют цены продажи жилья и так
Я начну с
прошу вас в аудитории , чтобы сделать
Предсказание на простых данных устанавливается таким образом , мой
dataset — это дом площадью 1000 кв. футов
продает за 100 000 долларов США 3000 квадратных футов
дом продается за 300 000 долларов, а мой вопрос
для вас , и вы можете просто кричать это является
сколько это будет 2000 квадратных футов дом
всего за двести тысяч, но это
довольно легко, давайте сделаем это
немного сложнее, давайте добавим
еще две функции для моего набора данных, поэтому в
добавление только метраж
дом Я собираюсь предсказать жилье
цена основана на том, что является преступлением
в районе, а также насколько хороши
школы в этом районе, так что теперь я просто
позволит тебе прочитать этот проскальзывать , и
вопрос в том, сколько будет три
тысяча квадратных футов с преступлением
ставка 30 и школьный рейтинг двух
стоимость любых храбрых душ не ответит да
теперь это не так просто, и это просто
с тремя функциями, представьте себе, если вы
имел сотню функций и представлял, если
вы были миллионы строк это где
вам теперь нужно использовать машинное обучение
сделать этот тип предсказания так, чтобы это
проблема , что мы собираемся быть
работая над этим, чтобы решить эту проблему и
на самом деле , кстати, если вы хотите
заново создайте эту лабораторию после
говорить это короткая ссылка на некоторые
документацию о том, как это сделать, чтобы вы
может щелкнуть снимок этого, и вы будете
иметь доступ к слайдам
после веб-сайта конференции
хорошо, чтобы сделать, чтобы действительно
мы будем использовать инструмент
так что лаборатория данных в основном
белая маркированная версия Юпитера или
ipython ноутбуки, сколько людей
использовал юпитер или ноутбуки ipython в порядке
так что — это хороший способ объединить ваши
кода с документацией таким образом, чтобы
вид усваиваемых и легкодоступных и
сотрудничайте, так что в этом ноутбуке я
начиная с простого импорта
рамки, которые мне нужно использовать в этом
Я использую панды, которые
которые позволяют мне иметь дело с
данные CSV, которые я собираюсь использовать легко
и разобрать его, а затем, конечно,
Тензорный поток, поэтому я просто исполню те
две клетки, и это всегда хорошая идея.
знаете, какая версия натяжения
вы имеете дело, чтобы вы могли отлаживать любые
проблемы с версией, поэтому я использую
тестовый жеребенок 1.2, и мы немного поговорили
об этой идее тонны потока api’s
и иерархию, поэтому в этом случае я
собираюсь программировать в этих двух лучших
уровней API эксперимента и оценок
и главная причина, по которой я собираюсь это сделать, — это
один из них делает меньше строк кода, но
другая причина — это дает мне
распределенных вычислений бесплатно, так что
пока я придерживаюсь этих более высоких уровней
API, то тогда он не стремится к
float просто понимает, как работать на десяти
GPU против одного GPU, и мне не нужно
внесите любые изменения кода, которые, если вы
пытался распределить вычисления через
нескольких процессоров или графических процессоров вручную до
вы будете знать , что это большая экономия времени ему
сэкономит вам много головной боли, и поэтому
фактические шаги, которые мы собираемся пойти
в этом ноутбуке мы едины
мы загрузим наши необработанные данные, мы
собираемся написать наш код тензорного потока и
что собирается быть некоторые шаги разбиты
который я объясню, тогда мы собираемся
упакуйте этот код так, чтобы мы могли
тренируйте его в облаке, мы собираемся
проверить результаты этого обучения
используя тензорный поток, чтобы убедиться, что мы
доволен нашим
с нашей точностью, как только мы будем рады
их точность, которую мы собираемся развернуть
эту модель для облака, чтобы мы могли
иметь сторонние прогнозы
против этой модели через Интернет, поэтому
мы начнем с загрузки наших исходных данных
и я использую только общедоступные
набор данных о пригородах Бостона около
1978 год, и он размещен в Google Cloud
Ведро для хранения, поэтому этот код здесь просто
загрузка этого CSV-файла из
Хранилище Google Cloud на пару
Переменные и память Python, и здесь я
просто собираюсь распечатать первые несколько
строки этих данных, чтобы вы могли видеть, что это
что это на самом деле выглядит, и это может
быть первым живым кодированием
медведь со мной
просто собираюсь обновить это здесь
так что это отключение виртуального
машины в облаке и что виртуальные
потеря машины потеряла связь
вероятно, потому, что я делал слайды
слишком долго, не обновляя это так
Я просто подключился сюда
и пока это подходит, что я могу
do — перейти к второму шагу здесь
это только у вас есть исходные данные загружены так
в этом случае CSV-файл следующий шаг
что вы хотите сделать, это научный сотрудник данных
просто изучите, что данные сначала понимают
все мои данные чистые
есть ли у меня выбросы, просто делайте здравомыслие
убедитесь, что данные имеют смысл, а затем
во-вторых, все преобразования
что мне нужно сделать это, так что это инструмент
под названием Google Cloud Data prep, и это
приятно, потому что сразу с места в карьер, когда вы
загрузить CSV-файл, который он уже создает
эти гистограммы всех ваших полей для
Вы так, например , я могу видеть , что
поле здесь возраст дома
диапазон от 3 до 100 лет
вот как поживают эти дома, и это
более концентрированный к верхнему концу
поэтому у меня больше старых домов
ближе к ста лет, тогда
которые являются совершенно новыми домами, а затем, если я
нажмите «Изменить», а затем детали столбца, которые я могу
получить мою основную статистику об этом
конкретный столбец — моя главная медиана
стандартное отклонение и мои квартили и
такие вещи и скажем, что я
хотите сделать некоторые манипуляции на этом
данных, тогда я могу просто выбрать
трансформация здесь и там
разные вещи, которые я могу сделать, я могу сделать
агрегирование
Я могу сгладить, я могу присоединиться, я могу развернуть I
может делать окна, поэтому многие из ваших основных
манипуляции с данными здесь вы можете сделать
через этот графический инструмент и приятный
вещь об этом — выход этого
Инструмент трубопровод потока данных и данных
поток — это реализация пучка Apache
который предназначен для работы на больших
наборов данных памяти
так скажем, что вы знаете, что я посмотрел
по моим данным я доволен
трансформаций, то в этот момент что
Я бы сделал это, я бы просто экспортировал это
данные в задание потока данных, которое будет выполняться
преобразований, а затем я мог
затем выберите резервную копию с этими данными назад
вернуться в тензорный поток и, конечно же,
это должно было случиться , как я делал
живая демонстрация
поэтому он обеспечивает облако Google
как я подключаюсь к
экземпляр облака данных Google cloud shell
на самом деле является бесплатным сервисом, поэтому иногда
если спрос на
в определенном регионе вам нужно подождать
немного, чтобы получить машину
поэтому я могу надеяться, что это будет
или, может быть , просто
мое интернет-соединение вообще не
работать прямо сейчас , да я думаю , что это
что это такое
хорошо, мы идем так одно из вещей
о работе в облаке вы
на самом деле нужно подключение к Интернету для
это хорошо работает, поэтому позвольте мне открутить это назад
сейчас мы идем
и я собираюсь подключиться к этому
пример хорошо, мы дадим это второй
и в то время как это загружая я собираюсь
продолжать в репозитории GitHub
вот так теперь, когда я сделал, я загрузил
мои сырые данные, которые я изучил, я счастлив
с каким он выглядит сейчас, я могу
фактически начните писать мой тензорный поток
код, чтобы написать мой код потока внимания
мне нужно четыре или пять шагов
чтобы сделать это первое , что мне нужно сделать , это
определить мой интерфейс данных Мне нужно сказать
Тензорный поток, как интерпретировать
разные столбцы в моем наборе данных так
есть определенная рубрика
типов, у вас есть непрерывные данные, которые у вас есть
категорические данные так цена, например , является
пример непрерывной переменной it
может взять любой департамент реальной ценности в
университет, например , было бы
пример категорического значения, чтобы он
может быть одним из дискретных вещей
математике или английском языке, психологии и т. д.
каждая из этих функций оптимизирована в
по-другому путем машинного обучения
алгоритмов, поэтому вам необходимо сообщить
алгоритм, какой тип данных
это и в моем конкретном наборе данных
это довольно легко, потому что все мои все
моего кода все мои функции
числовые значения действительных значений, чтобы они были
все будет категориальным
поэтому здесь в основном у меня есть цикл for
через функции, которые я
собирается использовать для этого и говорю вам
обрабатывать их как реальные значащие столбцы, так что
что мой интерфейс данных теперь следующий
вещь, которую мне нужно сделать, это выбрать мой
фактическая оценка, поэтому моя оценка — это то, что
вы можете подумать о своей консервированной модели
и в этом случае я буду использовать
нейронная сеть с глубокой нейронной сетью и
причина, по которой я использую это
потому что отношения между моими
входные функции и фактическая продажа
цена дома нелинейная, поэтому я не
будет иметь большой успех, если я буду использовать
что-то вроде логистической регрессии, где
так глубоко обучения и глубокое изучение
наиболее распространенное определение глубокого обучения
это просто нейронная сеть с двумя или
более скрытых слоев это хорошо для
моделирование такого типа отношений, чтобы мой
код для определения нейронной сети
это только эта ячейка, и я
указав, что я хочу два скрытых слоя
каждый с 210 нейронами в каждом слое, поэтому
10 нейронов в первом слое и 10
евро во втором слое, и это все
Я должен это сделать, чтобы определить это, и я
прохождение в моем определении функции из
предыдущей ячейке, чтобы он знал, как
интерпретировать эти данные, поэтому просто возьмите
вторых, чтобы оценить, что я мог бы
сделайте это всего несколькими строками кода
определение нейронной сети обычно
что-то, что очень важно сделать
так что это преимущество в работе
этот более высокий уровень абстракции, поэтому
Я собираюсь определить свою функцию ввода так, чтобы
на данный момент я только что указал данные
API, если вы будете, но у меня нет
передал данные, так что эти данные
фактически читая от того, что панды
переменную, которую я создал ранее, если if
вы помните, что просто потяните этот CSV вниз
из Google Cloud Storage и хранятся
в памяти, и я говорю, что это
где мои функции существуют, и мой ярлык
который я пытаюсь предсказать
будет той особенностью, которая у меня есть
обозначенный как метка, которую я сделал ранее
здесь, которое является медианным значением, которое
на самом деле цена продажи , так что я получил мой
функции и мои ярлыки, и я прохожу мимо
это моя функция ввода, а затем вы
имеют отдельную функцию ввода для
выступающей так служить только синонимом
предсказания или для вывода, так что
время, когда у меня есть пользователь третьей стороны
пользователя, использующего мою службу прогнозирования, они
может передавать данные в несколько иной
как я тренировался, поэтому
Мне разрешено определять отдельную порцию
функция ввода, которую я здесь и я
на самом деле НЕ собираюсь передавать его в любом
по-разному, поэтому первая часть
код тот же, а затем есть
просто какой-то шаблонный код здесь, что вы
не изменяйте, и последний шаг я
Собираем все это в
назвал эксперимент и эксперимент
это то, что позволяет мне на самом деле делать это
распределенного обучения без необходимости
напишите любой дополнительный код, и это просто
обертка, поэтому я просто передаю
указатели на все эти предыдущие ячейки
что я определил его так, что мой вклад
функция моя оценка, а затем я
указав, что я хочу обучить это
3000 шагов, а затем в конце я хочу
сделать шаг оценки, чтобы посмотреть, как
хорошо, что эта модель действует против моего
данные оценки, так что все
код потока напряжений, и поэтому мой код теперь
написана и для того , чтобы обучить это на
облако мне нужно упаковать это как
типичный файл Python, так что я просто
взяв все эти отдельные клетки и
вставляя их в одну ячейку Кодекса
не изменилась , а затем в конце здесь
есть какой-то шаблонный код, который вы
просто скопировать и вставить
рассказывает о том, как эта программа выполняет синтаксический анализ
некоторые аргументы командной строки, которые
Google Cloud ml движок xmx, поэтому при этом
Я могу тренироваться, и я собираюсь
тренироваться как локально, так и в облаке
вы можете видеть, как обе эти работы
есть пара переменных облака, которые
Я определяю здесь, так что это адрес
моего ведро Google Cloud Storage , что я
хочу, чтобы моя модель была написана на этом.
название моего Google Cloud — проект
и это географический регион,
Я хочу, чтобы мои виртуальные машины вращались
и я просто устанавливаю их как
переменные среды, поэтому я могу ссылаться
их в оставшихся ячейках и, следовательно, сначала
Я собираюсь запустить это локально и в этом
случай локально на самом деле до сих пор на
облако, потому что лаборатория данных является облаком
виртуальной машины, и вы увидите, что
что закончилось довольно быстро, у меня есть некоторые
больше предупреждений компиляции здесь, которые вы
может игнорировать это только потому, что я не
скомпилировать центр с нуля на этом
машины, поэтому есть определенные оптимизации
это позволяет мне знать, что я могу
преимущество, если я хочу, и если я хочу
для запуска этого в облаке, я использую
инструмент командной строки под названием G cloud и я
просто укажите путь моего
Файл Python, который я только что написал здесь
на диск, так что все мои кодовые ячейки просто
скопировал вставил его вместе и записываются
disk Я пишу указатель на это, чтобы он
знает, где код живет, и я
снова ссылаюсь на Google Cloud
Ведро для хранения, чтобы он знал, где
выводят результаты, чтобы я запускал
что и так, поэтому это поставлено в очередь
успешно и это просто работает на
один модуль обучения облачным облачным машинам
Вы можете думать, что это
эквивалент локального ноутбука сейчас
реальная сила, которую я пишу, используя
API- схемы оценки я могу просто добавить
аргумент здесь, который говорит — скаляр
равно стандартным
и теперь это будет работать вместо того, чтобы
один процессор будет работать через десять
CPU и аналогичным образом, если я хочу работать на
Вместо GPU вместо CPU я изменю это
сгладить до основного графического процессора и с точки зрения
цена GPU стоит три раза, так как
сколько процессор работать на так как пользователь
ваша цена будет вам просто
хотите, чтобы GPU ускорил ваш
обучение по крайней мере 3 раза — это ваш
точка безубыточности, и поэтому есть определенные
алгоритмы, в которых графический процессор может фактически ускорить
до вашего обучения 4050 X, и есть
другие типы приложений , где GPU
не то, что намного быстрее , чем процессор так
просто знайте об этом, когда вы
решая, будет ли поезд поезд на CPU
или ГПУ , а затем , наконец , я собираюсь
работать на нескольких графических процессоров , так как , что
вы это немного определили
разные Я создаю файл yamo, где я
где я указываю свой тип машины, а затем
Я ссылался на этот файл Ямбол как на
аргумент командной строки, так что он все еще не
это сложно, но это немного
бит другой, и теперь я бегу
через восемь облачных графических процессоров и фактически
в этом случае это nvidia tesla k 80s
поэтому я бегу по восьми из них в
параллель, поэтому, если я вернусь в облако
здесь и нажмите на мл рабочих двигателя вы
см. все эти четыре задания, которые я просто
начались, тогда они вращаются, и вы
может спросить, почему это все еще
если я запускал локально
закончил довольно много мгновенно, и
причина в том, что вы работаете
в облаке он запускает
виртуальной машины с нуля, поэтому
время запуска для этого около пяти
минут, а затем он запускает работу, чтобы вы
на самом деле не захочет запускать это
конкретная работа в облаке, потому что это
такой небольшой набор данных, но когда вы
думая о больших наборах данных, где это
потребуется несколько часов или даже дней для запуска
то эти пять минут становятся довольно
незначительно в контексте
горизонтальное масштабирование, которое вы идете
и с точки зрения ведения журнала для любого
работа, поскольку она работает, вы можете просто щелкнуть
просмотрите журналы здесь, и это даст вам
работающий выход из журналов, так что здесь
говорит, что ожидание работы будет обеспечено
он все еще разворачивает виртуальную машину, а затем
когда работа выполнена, мы можем развернуть эту
хорошо, мы можем проверить наши результаты, чтобы я
вернемся к своей записной книжке
здесь, и я собираюсь проверить результаты
работы, которую я выполнял локально с тех пор
что уже сделано, и мы собираемся
для проверки результатов с помощью инструмента
называемая тензорная доска
и поэтому помните этот обзор на этом
мы начали с необработанных данных
мы провели некоторое исследование этого
Затем мы написали наш код тензорного потока
определить, как интерпретировать конкретные
столбцы этих данных, а также какой тип
алгоритма, который мы хотели использовать для
поэтому в этом случае мы использовали два
и теперь мы хотим
исследовать результаты этого обучения
действительно ли он чему-то научился
делать что-нибудь полезное, так что я собираюсь
нажмите на мою диаграмму потерь здесь, и я
собираются расширить это и в основном то, что
вы ищете , что это
линия идет вниз и направо, что
означает, что он что-то изучает со временем
и вы можете увидеть здесь мой тренировочный шаг
вот поэтому у меня есть 3000 шагов обучения
и затем я запускаю один шаг оценки
в конце этого
так что просто для проверки
шаг оценки в конце говорит
потеря шести пунктов четыре раза десять рейза
до семи, которые могут показаться много, но
это на самом деле квадрат ошибки, что
как это так измеряется так
если я просто сделаю какую-то быструю математику, поэтому я
собираемся сделать квадратный корень из шести точек
четыре шесть, за которыми следует или давайте просто сделаем
шесть для шести, а затем один два три четыре
пять нулей, так что это то же самое
число и так доходит до 8000
поэтому, если я верну это в
оригинальная проблема, что означает
прогнозирование отпускной цены дома
со средней ошибкой около восьми
тысячи долларов, что довольно
хорошо, может быть, это может быть лучше, но для
любой из вас, кто когда-либо продавал дом или
купил дом, если бы вы знали заранее
времени в пределах тысячи долларов, что
он собирался продать, потому что ты был бы симпатичен
доволен этим
поэтому я сейчас проверял мои результаты
доволен им и
Я собираюсь сейчас развернуть свою модель для
на самом деле для предсказания так делать
что есть еще одна команда g-cloud
здесь, и я просто снова указываю на
к файлу модели, который был создан и
теперь это то, что он делает
моя модель центрального файла модели в облаке
и он разворачивает некоторую инфраструктуру
на самом деле назад, и это все
просто убивая инфраструктуру, так скажем
сегодня, когда я знаю только, скажем,
Я только что запустил этот API, и я не
есть у всех пользователей, поэтому я только получаю
возможно, десять запросов в день, тогда это
у вас будет минимальная виртуальная машина, чтобы поддержать это
но вдруг, если этот API идет
вирусные и я получаю тысячи
запросов в секунду, то эта услуга
просто увеличит количество виртуальных машин в
для обработки этих запросов
это полностью облако
масштабирование службы в этом смысле, и я могу
см. здесь, если я перейду в раздел моих моделей
а затем нажмите на цены на жилье , что является
создание этой модели, и это займет
всего около 15 , вероятно , более секунд
потому что они просто разворачивают эту виртуальную машину
чтобы поддержать это, а затем, как только это будет сделано, я
собираюсь на самом деле проверить это , поэтому я собираюсь
напишите пару новых записей здесь
для предсказания, поэтому у меня есть все мои
прогностические особенности здесь. Уровень преступности
возраст дома
отношение ученика к учителю в том, что
область и я буду писать те из к
файл, и тогда я просто собираюсь передать это
файл в службу, а затем я получаю
мои фактические прогнозы назад, так что 24
тысячи долларов и семьдесят тысяч
долларов соответственно и имейте в виду
этот набор данных с 1978 года, поэтому эти
цены на жилье на самом деле в США
доллары прошли проверку вменяемости
так что просто посмотрим, что мы здесь рассмотрели
как использовать тензорные потоки высокого уровня
оценщик a
pi, как развернуть его для распространения
обучение на облаке, как оценить
эти результаты с использованием инструмента, называемого
тензорная панель, а затем, как развернуть это
итоговая модель для облака для онлайн
предсказание, и я также хочу указать
некоторые важные вещи, которые мы не
обложка поэтому в данном случае мы использовали
набор данных, который вписывается в память, и если вы
хотел использовать набор данных, который был больше
чем память или цитата-нечеткие большие данные
поставьте еще кое- что, что вы
должны принимать во внимание , мы не делали
любая настоящая техническая инженерия, мы просто
прошли наши функции CSV, как и без
делая преобразования, потому что в этом
дело нам не нужно, но в большинстве случаев
вам нужно, а затем, наконец, мы
не выполнял автоматического гиперпараметра
настройка, которая в данных реальных данных данных
научную среду, в которой вы обычно
сделайте это, если вы хотите узнать, как
делать то , что я делаю последнее , что я
здесь будет великолепно
курс по Coursera, который мы выпускаем
в последнее время рассматривается, как делать все эти
вещи
это однонедельный курс, который проходит через
тематическое исследование прогнозирования цен на такси
в Нью-Йорке, и это будет
даже уровень, глубже, чем мы сделали сегодня
поэтому да, извинившись за потерю
подключение к Интернету и не осознавание I
потерял его на пару минут, но
благодарю вас за то, что вы были со мной, и у меня есть
технически 50 секунд для вопросов, но
это вы знаете, если у нас есть какие-либо, я счастлив
возьмите их, и есть один здесь
при сборе большего количества данных
как вы используете эти данные для
автоматически переучивать вашу модель, которая
вопрос да, так что это хорошо
вопрос, и это вопрос, который
очень важно для определенных типов
проблемы, такие как рекомендации
где вы получаете новую информацию
о вашей среде, и вы хотите
переквалификация на ежедневной основе, возможно, даже
почасовое основание есть другие типы
проблемы, когда вы знаете о
мир не меняется, может быть, шесть
месяцев или лет за раз, чтобы вы не
приходится беспокоиться о том, что ответ
вы просто должны иметь оркестровку
план, чтобы вам нужно было
тип системы обмена сообщениями, которая предупреждает вас
когда появятся новые данные, чтобы вернуться в поезд
и затем это начинает новый
учебной работы и когда вы тренируетесь
задание началось с вашего второго решения
Как я могу объединить результаты
что новая учебная работа с моим старым
поэтому я могу просто заменить
это старая модель полностью с моей новой
подготовки данных или , возможно , я хочу сделать
скользящее окно, где мы возьмем
пример, где я тренируюсь ежедневно
Я хочу взять сегодняшние данные и
объединить его со скользящим последним
семь дней, которые я тренировал или
возможно, то, что я хочу сделать, это просто
действующий по сравнению с сценарием Challenger
где я беру сегодняшние данные, которые я обучил
оценить модель против моего успеха
метрику и посмотреть, будет ли она лучше или
хуже, чем моя действующая модель, и если она
лучше я продвигаю это к производству
или если это не лучше, я остаюсь с
действующая модель, так что есть пара
различные способы, которыми вы можете это сделать
мы работаем над некоторыми управляемыми службами
выходить, чтобы сделать эту оркестровку
еще проще, теперь вы должны
сделать это немного больше , но по частям
в основном это очень похоже на проблему
к виду непрерывной интеграции
непрерывные инструменты непрерывного развертывания в
не сектор машинного обучения в порядке , мы
вне времени и большое спасибо
Благодарю вас
вы
Please follow and like us:

Be First to Comment

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