IT горячка в Сиэттле, эпизод 2
-
- Уже с Приветом
- Posts: 1951
- Joined: 11 Mar 2015 01:12
Re: IT горячка в Сиэттле, эпизод 2
Круто, не знал, что в форумный пост можно такую хтмлину воткнуть.
Вот описания самих контор - только с голодухи.
Вот описания самих контор - только с голодухи.
-
- Уже с Приветом
- Posts: 345
- Joined: 27 Nov 2007 05:33
-
- Уже с Приветом
- Posts: 8192
- Joined: 27 Mar 2016 23:56
Re: IT горячка в Сиэттле, эпизод 2
скажите, а чем Seatle лучше Bay Area?
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: IT горячка в Сиэттле, эпизод 2
Neural Networks and Deep Learning - done!
You do not have the required permissions to view the files attached to this post.
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: IT горячка в Сиэттле, эпизод 2
О, надо же, я как раз щас переделываю тренинг пайплайн написаный под тензорфлоу на питоне, там руками имплементировали тренировку многослойной сети. Т.к. не было подходящей библиотеки. Надо сказать тензорфлоу не совсем очевиден и прозрачен, к тому же быстро эволюционирует, так что мозги задействуются по полной.
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: IT горячка в Сиэттле, эпизод 2
Интересная задача, но, похоже, что очень простаяDweller wrote: ↑14 Apr 2020 20:20 О, надо же, я как раз щас переделываю тренинг пайплайн написаный под тензорфлоу на питоне, там руками имплементировали тренировку многослойной сети. Т.к. не было подходящей библиотеки. Надо сказать тензорфлоу не совсем очевиден и прозрачен, к тому же быстро эволюционирует, так что мозги задействуются по полной.
Сейчас также посматриваю туториалы к этому фреймворку. И у меня уже есть две претензии к гугловцам в связи с изученной теорией и тем, что они делают.
1. Зачем нужны epochs для тренировки глубокой (и не очень) нейронной сети? По-моему, бесполезная вещь, если опираться на теорию ML.
2. Какие преимущества даёт параметр BatchSize? Если интуитивно рассуждать, то он просто акууратность модели портит. Для предсказывания многих результатов, да, полезен, но в туториале его задают даже и на процессе тренировки. Может не совсем профессионалы этот туториал в Гугле составляли?
Если гугловцы есть среди нас, то, пожалуйста, проясните ситуацию.
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: IT горячка в Сиэттле, эпизод 2
при чем тут гугловцы, это общие вещиIvanGrozniy wrote: ↑14 Apr 2020 21:04Интересная задача, но, похоже, что очень простаяDweller wrote: ↑14 Apr 2020 20:20 О, надо же, я как раз щас переделываю тренинг пайплайн написаный под тензорфлоу на питоне, там руками имплементировали тренировку многослойной сети. Т.к. не было подходящей библиотеки. Надо сказать тензорфлоу не совсем очевиден и прозрачен, к тому же быстро эволюционирует, так что мозги задействуются по полной.
Сейчас также посматриваю туториалы к этому фреймворку. И у меня уже есть две претензии к гугловцам в связи с изученной теорией и тем, что они делают.
1. Зачем нужны epochs для тренировки глубокой (и не очень) нейронной сети? По-моему, бесполезная вещь, если опираться на теорию ML.
2. Какие преимущества даёт параметр BatchSize? Если интуитивно рассуждать, то он просто акууратность модели портит. Для предсказывания многих результатов, да, полезен, но в туториале его задают даже и на процессе тренировки. Может не совсем профессионалы этот туториал в Гугле составляли?
Если гугловцы есть среди нас, то, пожалуйста, проясните ситуацию.
1. для gradient descent нужно данные прогонять не один раз чтобы модель приблизить к оптимальной. Если Вы стругаете ножичком карандаш то лучше пройти два раза по кругу чтобы получился идеальный конус
2. batch size это чтобы сеть не прыгала из крайности в крайность. Должно быть достаточно данных в батче чтобы апдейт сети не разбрасывал её параметры слишком далеко между итерациями. В то же время достаточно маленьким чтобы кол-во итераций тоже было достаточно большим для convergence.
Разумеется если есть неограниченный ресурс памяти и проца то всё это не нужно
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: IT горячка в Сиэттле, эпизод 2
1. Вы подразумеваете Number Of Iterations. Epochs - это другое, согласно туториалу. В том же туториале есть это параметр, вроде iterationsNumberDweller wrote: ↑14 Apr 2020 21:38при чем тут гугловцы, это общие вещиIvanGrozniy wrote: ↑14 Apr 2020 21:04Интересная задача, но, похоже, что очень простаяDweller wrote: ↑14 Apr 2020 20:20 О, надо же, я как раз щас переделываю тренинг пайплайн написаный под тензорфлоу на питоне, там руками имплементировали тренировку многослойной сети. Т.к. не было подходящей библиотеки. Надо сказать тензорфлоу не совсем очевиден и прозрачен, к тому же быстро эволюционирует, так что мозги задействуются по полной.
Сейчас также посматриваю туториалы к этому фреймворку. И у меня уже есть две претензии к гугловцам в связи с изученной теорией и тем, что они делают.
1. Зачем нужны epochs для тренировки глубокой (и не очень) нейронной сети? По-моему, бесполезная вещь, если опираться на теорию ML.
2. Какие преимущества даёт параметр BatchSize? Если интуитивно рассуждать, то он просто акууратность модели портит. Для предсказывания многих результатов, да, полезен, но в туториале его задают даже и на процессе тренировки. Может не совсем профессионалы этот туториал в Гугле составляли?
Если гугловцы есть среди нас, то, пожалуйста, проясните ситуацию.
1. для gradient descent нужно данные прогонять не один раз чтобы модель приблизить к оптимальной. Если Вы стругаете ножичком карандаш то лучше пройти два раза по кругу чтобы получился идеальный конус
2. batch size это чтобы сеть не прыгала из крайности в крайность. Должно быть достаточно данных в батче чтобы апдейт сети не разбрасывал её параметры слишком далеко между итерациями. В то же время достаточно маленьким чтобы кол-во итераций тоже было достаточно большим для convergence.
Разумеется если есть неограниченный ресурс памяти и проца то всё это не нужно
2. Апдейт сети должен проходить на всех примерах из тренировочного сета. Нет смысла "частично" подсчитывать cost function для дальнейшего градиентого спуска. Если уж задан BatchSize, как 32, то проще выбросить все тренировочные примеры и оставить только 32 примера. Как раз с малым параметром BatchSize она и будет прыгать. Так же?
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: IT горячка в Сиэттле, эпизод 2
Это что за туториал такой?IvanGrozniy wrote: ↑14 Apr 2020 21:491. Вы подразумеваете Number Of Iterations. Epochs - это другое, согласно туториалу. В том же туториале есть это параметр, вроде iterationsNumberDweller wrote: ↑14 Apr 2020 21:38при чем тут гугловцы, это общие вещиIvanGrozniy wrote: ↑14 Apr 2020 21:04Интересная задача, но, похоже, что очень простаяDweller wrote: ↑14 Apr 2020 20:20 О, надо же, я как раз щас переделываю тренинг пайплайн написаный под тензорфлоу на питоне, там руками имплементировали тренировку многослойной сети. Т.к. не было подходящей библиотеки. Надо сказать тензорфлоу не совсем очевиден и прозрачен, к тому же быстро эволюционирует, так что мозги задействуются по полной.
Сейчас также посматриваю туториалы к этому фреймворку. И у меня уже есть две претензии к гугловцам в связи с изученной теорией и тем, что они делают.
1. Зачем нужны epochs для тренировки глубокой (и не очень) нейронной сети? По-моему, бесполезная вещь, если опираться на теорию ML.
2. Какие преимущества даёт параметр BatchSize? Если интуитивно рассуждать, то он просто акууратность модели портит. Для предсказывания многих результатов, да, полезен, но в туториале его задают даже и на процессе тренировки. Может не совсем профессионалы этот туториал в Гугле составляли?
Если гугловцы есть среди нас, то, пожалуйста, проясните ситуацию.
1. для gradient descent нужно данные прогонять не один раз чтобы модель приблизить к оптимальной. Если Вы стругаете ножичком карандаш то лучше пройти два раза по кругу чтобы получился идеальный конус
2. batch size это чтобы сеть не прыгала из крайности в крайность. Должно быть достаточно данных в батче чтобы апдейт сети не разбрасывал её параметры слишком далеко между итерациями. В то же время достаточно маленьким чтобы кол-во итераций тоже было достаточно большим для convergence.
Разумеется если есть неограниченный ресурс памяти и проца то всё это не нужно
2. Апдейт сети должен проходить на всех примерах из тренировочного сета. Нет смысла "частично" подсчитывать cost function для дальнейшего градиентого спуска. Если уж задан BatchSize, как 32, то проще выбросить все тренировочные примеры и оставить только 32 примера. Как раз с малым параметром BatchSize она и будет прыгать. Так же?
1. Epochs - это сколько раз пропускать весь датасет во время тренинга. Backpropagation делается раз в батч
2. Если апдейтить сеть только после всего датасета то надо уменьшать кол-во этих апдейтов иначе тренинг затянется на годы. Во-первых, cost function будет считаться долго на всем датасете, во вторых сеть не будет сходится за один присест, надо будет все равно много раз прогонять весь датасет.
Все эти танцы с батчами и эпохами как раз для того чтобы ускорить процесс на больших данных. Смысл в том чтобы 1) прогнать все данные больше одного раза, причем каждый раз в новом случайном порядке чтобы от порядка не зависел результат, 2) достаточно маленький батч чтобы быстро итерироваться, и 3) чтобы не прыгать слишком далеко по всему пространству решений нужен достаточно большой батч
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: IT горячка в Сиэттле, эпизод 2
А до TF с чем были знакомы?Dweller wrote: ↑14 Apr 2020 20:20 О, надо же, я как раз щас переделываю тренинг пайплайн написаный под тензорфлоу на питоне, там руками имплементировали тренировку многослойной сети. Т.к. не было подходящей библиотеки. Надо сказать тензорфлоу не совсем очевиден и прозрачен, к тому же быстро эволюционирует, так что мозги задействуются по полной.
Что думаете по поводу чисто-символьных фреймворков (остались еще такие?) против неких странных-гибридных, которые пытаются запомнить, что делаешь на Питоне и уже по этому построить граф?
Действительно математегам так уж нужна совместивость с numpy, или проще новых математегов сделать?
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 31438
- Joined: 21 Nov 2004 05:12
- Location: камбуз на кампусе
Re: IT горячка в Сиэттле, эпизод 2
Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.
Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
Более того, и иммиграционный статус может перестать иметь значение. Есть ГК или нет ГК, да вобще под какой пальмой сидит программёр - неважно для 100%-remote WFH.
Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
Более того, и иммиграционный статус может перестать иметь значение. Есть ГК или нет ГК, да вобще под какой пальмой сидит программёр - неважно для 100%-remote WFH.
Лучше переесть, чем недоспать! © Обратное тоже верно
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: IT горячка в Сиэттле, эпизод 2
Гуглу нужно больше времени потратить на объяснения. Я так понимаю что если batchsize меньше числа примеров для тренировки модели, то создатели используют теорию и алгоритм так называемого стохастического градиентного спуска. Я эту тему проходил в первой сертификате по ML. В таком методе есть подводные камни. Например, cost function может и не уменьшаться с итерациями при неправильно подобранных гиперпараметрах, типа learning rate. Во-первых, непонятно если мое предположение сейчас верно. Во-вторых, эта вся информация должна быть в документации к этому продукту. Иначе люди в слепую доверяются Гуглу, а косяки модели не заметят сразу.Dweller wrote: ↑15 Apr 2020 03:26Это что за туториал такой?IvanGrozniy wrote: ↑14 Apr 2020 21:491. Вы подразумеваете Number Of Iterations. Epochs - это другое, согласно туториалу. В том же туториале есть это параметр, вроде iterationsNumberDweller wrote: ↑14 Apr 2020 21:38при чем тут гугловцы, это общие вещиIvanGrozniy wrote: ↑14 Apr 2020 21:04Интересная задача, но, похоже, что очень простаяDweller wrote: ↑14 Apr 2020 20:20 О, надо же, я как раз щас переделываю тренинг пайплайн написаный под тензорфлоу на питоне, там руками имплементировали тренировку многослойной сети. Т.к. не было подходящей библиотеки. Надо сказать тензорфлоу не совсем очевиден и прозрачен, к тому же быстро эволюционирует, так что мозги задействуются по полной.
Сейчас также посматриваю туториалы к этому фреймворку. И у меня уже есть две претензии к гугловцам в связи с изученной теорией и тем, что они делают.
1. Зачем нужны epochs для тренировки глубокой (и не очень) нейронной сети? По-моему, бесполезная вещь, если опираться на теорию ML.
2. Какие преимущества даёт параметр BatchSize? Если интуитивно рассуждать, то он просто акууратность модели портит. Для предсказывания многих результатов, да, полезен, но в туториале его задают даже и на процессе тренировки. Может не совсем профессионалы этот туториал в Гугле составляли?
Если гугловцы есть среди нас, то, пожалуйста, проясните ситуацию.
1. для gradient descent нужно данные прогонять не один раз чтобы модель приблизить к оптимальной. Если Вы стругаете ножичком карандаш то лучше пройти два раза по кругу чтобы получился идеальный конус
2. batch size это чтобы сеть не прыгала из крайности в крайность. Должно быть достаточно данных в батче чтобы апдейт сети не разбрасывал её параметры слишком далеко между итерациями. В то же время достаточно маленьким чтобы кол-во итераций тоже было достаточно большим для convergence.
Разумеется если есть неограниченный ресурс памяти и проца то всё это не нужно
2. Апдейт сети должен проходить на всех примерах из тренировочного сета. Нет смысла "частично" подсчитывать cost function для дальнейшего градиентого спуска. Если уж задан BatchSize, как 32, то проще выбросить все тренировочные примеры и оставить только 32 примера. Как раз с малым параметром BatchSize она и будет прыгать. Так же?
1. Epochs - это сколько раз пропускать весь датасет во время тренинга. Backpropagation делается раз в батч
2. Если апдейтить сеть только после всего датасета то надо уменьшать кол-во этих апдейтов иначе тренинг затянется на годы. Во-первых, cost function будет считаться долго на всем датасете, во вторых сеть не будет сходится за один присест, надо будет все равно много раз прогонять весь датасет.
Все эти танцы с батчами и эпохами как раз для того чтобы ускорить процесс на больших данных. Смысл в том чтобы 1) прогнать все данные больше одного раза, причем каждый раз в новом случайном порядке чтобы от порядка не зависел результат, 2) достаточно маленький батч чтобы быстро итерироваться, и 3) чтобы не прыгать слишком далеко по всему пространству решений нужен достаточно большой батч
-
- Уже с Приветом
- Posts: 5104
- Joined: 19 Oct 2004 01:46
Re: IT горячка в Сиэттле, эпизод 2
Сейчас нанять по другому и не получится. А вообще предполагается, что сейчас - удаленка, а потом, типа, добро пожаловать к нам.kyk wrote: ↑15 Apr 2020 10:44 Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.
Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
Более того, и иммиграционный статус может перестать иметь значение. Есть ГК или нет ГК, да вобще под какой пальмой сидит программёр - неважно для 100%-remote WFH.
-
- Уже с Приветом
- Posts: 12257
- Joined: 20 Dec 2000 10:01
- Location: Bellevue, WA
Re: IT горячка в Сиэттле, эпизод 2
ага, все претензии к гуглуIvanGrozniy wrote: ↑15 Apr 2020 12:53Гуглу нужно больше времени потратить на объяснения. Я так понимаю что если batchsize меньше числа примеров для тренировки модели, то создатели используют теорию и алгоритм так называемого стохастического градиентного спуска. Я эту тему проходил в первой сертификате по ML. В таком методе есть подводные камни. Например, cost function может и не уменьшаться с итерациями при неправильно подобранных гиперпараметрах, типа learning rate. Во-первых, непонятно если мое предположение сейчас верно. Во-вторых, эта вся информация должна быть в документации к этому продукту. Иначе люди в слепую доверяются Гуглу, а косяки модели не заметят сразу.Dweller wrote: ↑15 Apr 2020 03:26Это что за туториал такой?IvanGrozniy wrote: ↑14 Apr 2020 21:491. Вы подразумеваете Number Of Iterations. Epochs - это другое, согласно туториалу. В том же туториале есть это параметр, вроде iterationsNumberDweller wrote: ↑14 Apr 2020 21:38при чем тут гугловцы, это общие вещиIvanGrozniy wrote: ↑14 Apr 2020 21:04
Интересная задача, но, похоже, что очень простая
Сейчас также посматриваю туториалы к этому фреймворку. И у меня уже есть две претензии к гугловцам в связи с изученной теорией и тем, что они делают.
1. Зачем нужны epochs для тренировки глубокой (и не очень) нейронной сети? По-моему, бесполезная вещь, если опираться на теорию ML.
2. Какие преимущества даёт параметр BatchSize? Если интуитивно рассуждать, то он просто акууратность модели портит. Для предсказывания многих результатов, да, полезен, но в туториале его задают даже и на процессе тренировки. Может не совсем профессионалы этот туториал в Гугле составляли?
Если гугловцы есть среди нас, то, пожалуйста, проясните ситуацию.
1. для gradient descent нужно данные прогонять не один раз чтобы модель приблизить к оптимальной. Если Вы стругаете ножичком карандаш то лучше пройти два раза по кругу чтобы получился идеальный конус
2. batch size это чтобы сеть не прыгала из крайности в крайность. Должно быть достаточно данных в батче чтобы апдейт сети не разбрасывал её параметры слишком далеко между итерациями. В то же время достаточно маленьким чтобы кол-во итераций тоже было достаточно большим для convergence.
Разумеется если есть неограниченный ресурс памяти и проца то всё это не нужно
2. Апдейт сети должен проходить на всех примерах из тренировочного сета. Нет смысла "частично" подсчитывать cost function для дальнейшего градиентого спуска. Если уж задан BatchSize, как 32, то проще выбросить все тренировочные примеры и оставить только 32 примера. Как раз с малым параметром BatchSize она и будет прыгать. Так же?
1. Epochs - это сколько раз пропускать весь датасет во время тренинга. Backpropagation делается раз в батч
2. Если апдейтить сеть только после всего датасета то надо уменьшать кол-во этих апдейтов иначе тренинг затянется на годы. Во-первых, cost function будет считаться долго на всем датасете, во вторых сеть не будет сходится за один присест, надо будет все равно много раз прогонять весь датасет.
Все эти танцы с батчами и эпохами как раз для того чтобы ускорить процесс на больших данных. Смысл в том чтобы 1) прогнать все данные больше одного раза, причем каждый раз в новом случайном порядке чтобы от порядка не зависел результат, 2) достаточно маленький батч чтобы быстро итерироваться, и 3) чтобы не прыгать слишком далеко по всему пространству решений нужен достаточно большой батч
они сделали хорошую библиотеку open source так что все пользуются бесплатно, и еще и должны идеально документировать?
проблемы две: библиотека меняется так быстро что они могут поддерживать только минимальную документацию, плюс предполагается что люди уже получили masters/PhD с уклоном в ML и разбираются во всех тонкостях и им нужно только сухая специфика реализации. Ну на это собственно лучше всего читать исходники, как впрочем во всем остальном.
Их тулзы в клауде тоже плохо документированы, но и там тоже все быстро мутирует и поддерживать документацию разных версий становится непросто
-
- Уже с Приветом
- Posts: 920
- Joined: 22 Jun 2007 20:41
- Location: Santa Rosita
Re: IT горячка в Сиэттле, эпизод 2
Сорри за запоздалый вопрос, хочу полюбопытствовать, что в данном контексте есть latest и greatest?Сабина wrote: ↑10 Feb 2020 09:03 Так ML ещё позже взлетел на фоне роста тех же самых big data технологий. Разьве за это платили такие хорошие деньги до того как все вышеперечисленные технологии поперли в гору ?
Вы безусловно вовремя влились в струю и позиция у вас сейчас вкусная ( поздравляю ), но я бы не уменьшала роль инженеров. Наоборот сейчас столько народу поперло в Data Science например что их даже стали сокращать то тут то там. А инженеров по прежнему везде не хватает. Точнее туда прут те самые Пердеши с древним хадупоопытом, если не вообще с голимой Джавой, а latest и greatest по прежнему мало кто знает на деле или вообще умеет
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: IT горячка в Сиэттле, эпизод 2
У Гугла есть косвенная выгода от того, что люди больше используют TensorFlow. Им нужно, чтобы эта научная ниша развивалась гораздо быстрее, чтобы извлекать выгоду поскорей. Сейчас у них дефицит кадров по этой специализации, все вокруг с руками и ногами вырывают специалистов от конкурентов. Так что могли бы и потратить 50-100 тысяч на достойную документацию. Если бы не необходимость использования модели на мобильных устройствах, я бы с этим фреймворком и не связывался. Андрюша Нг хорошие лабы подготавливает, которые легко конвертируются в рабочие модели адаптированные к железу и без этого фреймворка.Dweller wrote: ↑15 Apr 2020 18:40
ага, все претензии к гуглу
они сделали хорошую библиотеку open source так что все пользуются бесплатно, и еще и должны идеально документировать?
проблемы две: библиотека меняется так быстро что они могут поддерживать только минимальную документацию, плюс предполагается что люди уже получили masters/PhD с уклоном в ML и разбираются во всех тонкостях и им нужно только сухая специфика реализации. Ну на это собственно лучше всего читать исходники, как впрочем во всем остальном.
Их тулзы в клауде тоже плохо документированы, но и там тоже все быстро мутирует и поддерживать документацию разных версий становится непросто
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
-
- Уже с Приветом
- Posts: 1239
- Joined: 14 Nov 2002 23:02
- Location: S.Peterburg, Russia -->SoFla
Re: IT горячка в Сиэттле, эпизод 2
ну дел так дел
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: IT горячка в Сиэттле, эпизод 2
Да просто про установку tensorflow и танцы с бубном написал
В общем эта приблуда не дружит с последними версиями Питона. Пришлось убить немного времени на разборки (три дня факультативного времени), чтобы найти обход проблемы.
В общем 2 пути:
1. Использовать готовый контейнер докера подготовленный Гуглом. Но он старый Питон 2.7 поддерживает.
2. Этот уже сегодня попробовал. Опытный учитель даже видео сделал, как на винду поставить. Нужно вместо обычного питона, устанавливать обрезанного питона miniconda 3.7. Вот его видео с объяснениями. Как ни странно, у меня все взлетело с первого раза!
Теперь нужно разобраться, как на Маке то же самое повторить (нужно будет модель тестировать в среде разработки айфоновских программ). Мак по умолчания ставится со старым Питоном, который TensorFlow не любит...
В общем эта приблуда не дружит с последними версиями Питона. Пришлось убить немного времени на разборки (три дня факультативного времени), чтобы найти обход проблемы.
В общем 2 пути:
1. Использовать готовый контейнер докера подготовленный Гуглом. Но он старый Питон 2.7 поддерживает.
2. Этот уже сегодня попробовал. Опытный учитель даже видео сделал, как на винду поставить. Нужно вместо обычного питона, устанавливать обрезанного питона miniconda 3.7. Вот его видео с объяснениями. Как ни странно, у меня все взлетело с первого раза!
Теперь нужно разобраться, как на Маке то же самое повторить (нужно будет модель тестировать в среде разработки айфоновских программ). Мак по умолчания ставится со старым Питоном, который TensorFlow не любит...
-
- Уже с Приветом
- Posts: 10379
- Joined: 04 Feb 2004 14:14
- Location: Edgewater, NJ
Re: IT горячка в Сиэттле, эпизод 2
В общем, у меня появилась идея, как сделать фильтр для фильтрации резюме товарищу 8К по имени и фамилии кандидата.
viewtopic.php?p=7289245#p7289245
Один форумчанин предложил отфильтровать резюме индусов и китайцев
Я решил накидать модельку нейронной сети для этих целей. Решил упростить задачу - фильтровать только индусов и только по фамилии. Потратил час. Построил сбор данных и тренировку модели. Аккурастность предсказания 75% всего лишь на тренировке на 178 фамилий.
Вот что было.
1. Собрал данные с сайтов 100 самых распространненных американских фамилий и 100 самых распостраненных индусских фамилий.
2. Обработал их, загнав каждую букву фамилии, как порядковое число буквы алфавита
3. Затем я их перемешал и 10% отделили для тестирования:
4. Сделал модель
Собственно аккуратность предсказания получилось такая
Понятно, что модель шуточная. Для большей точности, нужно еще подмешать имен и взять побольше примеров. Например, тысяч 10.
viewtopic.php?p=7289245#p7289245
Один форумчанин предложил отфильтровать резюме индусов и китайцев
Я решил накидать модельку нейронной сети для этих целей. Решил упростить задачу - фильтровать только индусов и только по фамилии. Потратил час. Построил сбор данных и тренировку модели. Аккурастность предсказания 75% всего лишь на тренировке на 178 фамилий.
Вот что было.
1. Собрал данные с сайтов 100 самых распространненных американских фамилий и 100 самых распостраненных индусских фамилий.
2. Обработал их, загнав каждую букву фамилии, как порядковое число буквы алфавита
Code: Select all
def loadDataset():
df = pd.read_csv("C:\\Temp\\indians.csv")
arr = []
for i, row in enumerate(df.values):
arr.append([row[0].lower(), 1])
df = pd.read_csv("C:\\Temp\\none-indians.csv")
for i, row in enumerate(df.values):
arr.append([row[0].lower(), 0])
random.shuffle(arr)
return arr
def convertWordToInts(word):
arr = []
for c in word.ljust(15):
arr.append(ord(c) - ord('a'))
return arr
def getExamplesAndLabels(arr_train):
examples = []
labels = []
for word in arr_train:
examples.append(convertWordToInts(word[0]))
labels.append(word[1])
return (np.array(examples), np.array(labels))
Code: Select all
def makeModel():
arr_all = loadDataset()
arr_train = arr_all[:int(len(arr_all) * 0.9)]
arr_test = arr_all[int(len(arr_all) * 0.9):]
(train_examples, train_labels) = getExamplesAndLabels(arr_train)
(test_examples, test_labels) = getExamplesAndLabels(arr_test)
train_examples =train_examples / 26.
test_examples = test_examples / 26.
train_labels.reshape((train_labels.shape[0], 1))
test_labels.reshape((test_labels.shape[0], 1))
Code: Select all
model = keras.Sequential([
keras.layers.Dense(15), #Flatten(input_shape=(train_examples.shape[0], train_examples.shape[1])), # input layer (1)
keras.layers.Dense(128, activation='relu'), # hidden layer (2)
keras.layers.Dense(2, activation='softmax') # output layer (3)
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_examples, train_labels, epochs=10)
test_loss, test_acc = model.evaluate(test_examples, test_labels, verbose=1)
print('Test accuracy:', test_acc)
Code: Select all
Test accuracy: 0.75
-
- Уже с Приветом
- Posts: 2305
- Joined: 14 Apr 1999 09:01
- Location: Ural->CA
Re: IT горячка в Сиэттле, эпизод 2
Никто не даст работать с sensitive data чуваку под пальмой.kyk wrote:Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.
Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
Более того, и иммиграционный статус может перестать иметь значение. Есть ГК или нет ГК, да вобще под какой пальмой сидит программёр - неважно для 100%-remote WFH.
Ивану за фильтр индюков Кудос!
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
-
- Уже с Приветом
- Posts: 6543
- Joined: 30 Apr 2000 09:01
- Location: Из будущего
Re: IT горячка в Сиэттле, эпизод 2
Если даже и наймут то платить будут соответственно. И скорее всего захотят открыть там офис, как только будет возможность.
Вот вам успокаивающее. А вот - патроны к нему.
-
- Уже с Приветом
- Posts: 11999
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: IT горячка в Сиэттле, эпизод 2
А что такое "sensitive data", и почему над ней нельзя работать из под пальмы?
Меня в этом сценарии другое напрягает. Предположим, я ценный работник, и предположим, что _текущий босс_ даже согласен, чтобы я работал из под пальмы, и даже сохранил (пока) текущую калифорнийскую зарплату.
Вот я переехал, купил среди пальм дом и все такое. Я теперь пипец как завишу от своего работодателя! Босс может смениться, в хорошей компании незаменимых людей не бывает, и т.д. Любое изменение ситуации - и я в очень уязвимой ситуации.
Если только работа из под пальмы не станет стандартом для большинства хороших компаний.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 31438
- Joined: 21 Nov 2004 05:12
- Location: камбуз на кампусе
Re: IT горячка в Сиэттле, эпизод 2
Вы это компенсируете боссу тем, что соглашаетесь работать remotely под пальмой за меньшую оплату. Иными словами, для вас - одного и того же человека - будут два рейта оплаты: Local at California и remote - под пальмой.M. Ridcully wrote: ↑24 Apr 2020 03:55 Вот я переехал, купил среди пальм дом и все такое. Я теперь пипец как завишу от своего работодателя! Босс может смениться, в хорошей компании незаменимых людей не бывает, и т.д. Любое изменение ситуации - и я в очень уязвимой ситуации.
Один и тот же Вы переезжаете в оффис в калифорнию - получаете больше, переезжаете под пальму - получаете меньше, возвращаетесь в калифорнию - опять боьше. Ну или можно ввести поправочные коффициенты к Вашему рейту: (1) local и (2) под пальмой
Базовый рейт будет привязан к Вашей personality, наличию омериканского опыта.
А наличие омериканского гражданства позволит Вам вернуться в Калифорнию если проклятый капиталист-кровосос захочет сильно снизить Вашу ЗП под пальмой.
Лучше переесть, чем недоспать! © Обратное тоже верно
-
- Уже с Приветом
- Posts: 3208
- Joined: 25 Jul 2000 09:01
Re: IT горячка в Сиэттле, эпизод 2
Имеет и не останется. Работ, где можно 100% удаленно работать с той же эффективностью, не так много. То, что сейчас все работают удаленно, не значит что производительность не упала или не упадёт в будущем.kyk wrote:Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.
Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.