IT горячка в Сиэттле, эпизод 2

User avatar
IvanGrozniy
Уже с Приветом
Posts: 10399
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: IT горячка в Сиэттле, эпизод 2

Post by IvanGrozniy »

Dweller wrote: 15 Apr 2020 18:40
ага, все претензии к гуглу
они сделали хорошую библиотеку open source так что все пользуются бесплатно, и еще и должны идеально документировать?
проблемы две: библиотека меняется так быстро что они могут поддерживать только минимальную документацию, плюс предполагается что люди уже получили masters/PhD с уклоном в ML и разбираются во всех тонкостях и им нужно только сухая специфика реализации. Ну на это собственно лучше всего читать исходники, как впрочем во всем остальном.
Их тулзы в клауде тоже плохо документированы, но и там тоже все быстро мутирует и поддерживать документацию разных версий становится непросто
У Гугла есть косвенная выгода от того, что люди больше используют TensorFlow. Им нужно, чтобы эта научная ниша развивалась гораздо быстрее, чтобы извлекать выгоду поскорей. Сейчас у них дефицит кадров по этой специализации, все вокруг с руками и ногами вырывают специалистов от конкурентов. Так что могли бы и потратить 50-100 тысяч на достойную документацию. Если бы не необходимость использования модели на мобильных устройствах, я бы с этим фреймворком и не связывался. Андрюша Нг хорошие лабы подготавливает, которые легко конвертируются в рабочие модели адаптированные к железу и без этого фреймворка.
User avatar
IvanGrozniy
Уже с Приветом
Posts: 10399
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: IT горячка в Сиэттле, эпизод 2

Post by IvanGrozniy »

del
Ann4Ann
Уже с Приветом
Posts: 1239
Joined: 14 Nov 2002 23:02
Location: S.Peterburg, Russia -->SoFla

Re: IT горячка в Сиэттле, эпизод 2

Post by Ann4Ann »

ну дел так дел
User avatar
IvanGrozniy
Уже с Приветом
Posts: 10399
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: IT горячка в Сиэттле, эпизод 2

Post by IvanGrozniy »

Да просто про установку tensorflow и танцы с бубном написал :)
В общем эта приблуда не дружит с последними версиями Питона. Пришлось убить немного времени на разборки (три дня факультативного времени), чтобы найти обход проблемы.
В общем 2 пути:
1. Использовать готовый контейнер докера подготовленный Гуглом. Но он старый Питон 2.7 поддерживает.
2. Этот уже сегодня попробовал. Опытный учитель даже видео сделал, как на винду поставить. Нужно вместо обычного питона, устанавливать обрезанного питона miniconda 3.7. Вот его видео с объяснениями. Как ни странно, у меня все взлетело с первого раза!


Теперь нужно разобраться, как на Маке то же самое повторить (нужно будет модель тестировать в среде разработки айфоновских программ). Мак по умолчания ставится со старым Питоном, который TensorFlow не любит...
User avatar
IvanGrozniy
Уже с Приветом
Posts: 10399
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: IT горячка в Сиэттле, эпизод 2

Post by IvanGrozniy »

В общем, у меня появилась идея, как сделать фильтр для фильтрации резюме товарищу 8К по имени и фамилии кандидата.
viewtopic.php?p=7289245#p7289245
Один форумчанин предложил отфильтровать резюме индусов и китайцев :D
Я решил накидать модельку нейронной сети для этих целей. Решил упростить задачу - фильтровать только индусов и только по фамилии. Потратил час. Построил сбор данных и тренировку модели. Аккурастность предсказания 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))
3. Затем я их перемешал и 10% отделили для тестирования:

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))
4. Сделал модель

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
Понятно, что модель шуточная. Для большей точности, нужно еще подмешать имен и взять побольше примеров. Например, тысяч 10. :gen1:
User avatar
Albert_al
Уже с Приветом
Posts: 2305
Joined: 14 Apr 1999 09:01
Location: Ural->CA

Re: IT горячка в Сиэттле, эпизод 2

Post by Albert_al »

kyk wrote:Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.

Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.

Более того, и иммиграционный статус может перестать иметь значение. Есть ГК или нет ГК, да вобще под какой пальмой сидит программёр - неважно для 100%-remote WFH.
Никто не даст работать с sensitive data чуваку под пальмой.
Ивану за фильтр индюков Кудос!ImageImageImage
Alcohol, Tobacco, Firearms, and Explosives. The makings of a great weekend in West Virginia!
User avatar
Nostradamus
Уже с Приветом
Posts: 6577
Joined: 30 Apr 2000 09:01
Location: Из будущего

Re: IT горячка в Сиэттле, эпизод 2

Post by Nostradamus »

kyk wrote: 15 Apr 2020 10:44
Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
Если даже и наймут то платить будут соответственно. И скорее всего захотят открыть там офис, как только будет возможность.
Вот вам успокаивающее. А вот - патроны к нему.
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: IT горячка в Сиэттле, эпизод 2

Post by M. Ridcully »

Albert_al wrote: 23 Apr 2020 19:11 Никто не даст работать с sensitive data чуваку под пальмой.
А что такое "sensitive data", и почему над ней нельзя работать из под пальмы?
Меня в этом сценарии другое напрягает. Предположим, я ценный работник, и предположим, что _текущий босс_ даже согласен, чтобы я работал из под пальмы, и даже сохранил (пока) текущую калифорнийскую зарплату.
Вот я переехал, купил среди пальм дом и все такое. Я теперь пипец как завишу от своего работодателя! Босс может смениться, в хорошей компании незаменимых людей не бывает, и т.д. Любое изменение ситуации - и я в очень уязвимой ситуации.
Если только работа из под пальмы не станет стандартом для большинства хороших компаний.
Мир Украине. Свободу России.
User avatar
kyk
Уже с Приветом
Posts: 31589
Joined: 21 Nov 2004 05:12
Location: камбуз на кампусе

Re: IT горячка в Сиэттле, эпизод 2

Post by kyk »

M. Ridcully wrote: 24 Apr 2020 03:55 Вот я переехал, купил среди пальм дом и все такое. Я теперь пипец как завишу от своего работодателя! Босс может смениться, в хорошей компании незаменимых людей не бывает, и т.д. Любое изменение ситуации - и я в очень уязвимой ситуации.
Вы это компенсируете боссу тем, что соглашаетесь работать remotely под пальмой за меньшую оплату. Иными словами, для вас - одного и того же человека - будут два рейта оплаты: Local at California и remote - под пальмой.

Один и тот же Вы переезжаете в оффис в калифорнию - получаете больше, переезжаете под пальму - получаете меньше, возвращаетесь в калифорнию - опять боьше. Ну или можно ввести поправочные коффициенты к Вашему рейту: (1) local и (2) под пальмой

Базовый рейт будет привязан к Вашей personality, наличию омериканского опыта.

А наличие омериканского гражданства позволит Вам вернуться в Калифорнию если проклятый капиталист-кровосос захочет сильно снизить Вашу ЗП под пальмой.
Лучше переесть, чем недоспать! © Обратное тоже верно :umnik1:
Lisa
Уже с Приветом
Posts: 3209
Joined: 25 Jul 2000 09:01

Re: IT горячка в Сиэттле, эпизод 2

Post by Lisa »

kyk wrote:Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.

Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
Имеет и не останется. Работ, где можно 100% удаленно работать с той же эффективностью, не так много. То, что сейчас все работают удаленно, не значит что производительность не упала или не упадёт в будущем.
BigSpender
Уже с Приветом
Posts: 310
Joined: 25 May 2019 21:00
Location: Arizona

Re: IT горячка в Сиэттле, эпизод 2

Post by BigSpender »

IvanGrozniy wrote: 22 Apr 2020 23:32 В общем, у меня появилась идея, как сделать фильтр для фильтрации резюме товарищу 8К по имени и фамилии кандидата.
viewtopic.php?p=7289245#p7289245
Один форумчанин предложил отфильтровать резюме индусов и китайцев :D
Я решил накидать модельку нейронной сети для этих целей. Решил упростить задачу - фильтровать только индусов и только по фамилии. Потратил час. Построил сбор данных и тренировку модели. Аккурастность предсказания 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))
3. Затем я их перемешал и 10% отделили для тестирования:

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))
4. Сделал модель

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
Понятно, что модель шуточная. Для большей точности, нужно еще подмешать имен и взять побольше примеров. Например, тысяч 10. :gen1:
Можно еще натренировать модельку которая будет касту индуса определять по фамилии :lol:
Life's hard - It's even harder if you're stupid
ystar
Уже с Приветом
Posts: 1039
Joined: 27 Apr 2014 17:13
Location: USA

Re: IT горячка в Сиэттле, эпизод 2

Post by ystar »

Lisa wrote: 24 Apr 2020 06:29
kyk wrote:Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.

Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
Имеет и не останется. Работ, где можно 100% удаленно работать с той же эффективностью, не так много. То, что сейчас все работают удаленно, не значит что производительность не упала или не упадёт в будущем.
а я бейджик получил, что работую из дома лучше и количество cl-ек увеличилось за последние n дней.
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: IT горячка в Сиэттле, эпизод 2

Post by Херовимчик »

kyk wrote: 15 Apr 2020 10:44 Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.

Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
как раз этот эксперимент очень хорошо показывает, что большинство не способно работать без надзирателей :no: куча менедежров привратилось в тыкву и перешло на жесткий микроменеджмент
User avatar
IvanGrozniy
Уже с Приветом
Posts: 10399
Joined: 04 Feb 2004 14:14
Location: Edgewater, NJ

Re: IT горячка в Сиэттле, эпизод 2

Post by IvanGrozniy »

Херовимчик wrote: 26 Apr 2020 04:14
kyk wrote: 15 Apr 2020 10:44 Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.

Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
как раз этот эксперимент очень хорошо показывает, что большинство не способно работать без надзирателей :no: куча менедежров привратилось в тыкву и перешло на жесткий микроменеджмент
Вчера посмотрел видео от Юрия Вдудя про Кремниевую долину. Понравилось выражение про начальников, которые на удаленке стали чайка-менеджерами - прилетел, наорал, насрал и улетел :D
User avatar
Херовимчик
Уже с Приветом
Posts: 5284
Joined: 27 Sep 2008 21:48
Location: Moscow-Seattle-SFBA

Re: IT горячка в Сиэттле, эпизод 2

Post by Херовимчик »

IvanGrozniy wrote: 26 Apr 2020 12:16
Херовимчик wrote: 26 Apr 2020 04:14
kyk wrote: 15 Apr 2020 10:44 Кстати, сейчас нанимают для удалённой работы, чистой воды 100%-remote WFH из-за кронавируса. Получается, что для работодателя физическое местонахождение работника, его география не имеет ниакого значения.

Через годик ситуация с короной улучшится, а привычка к 100%-remote WFH останется. Можно покупать дом в дешёвом и удобном месте США, работать удалённо и хрен с этой Калифорнией и NYC.
как раз этот эксперимент очень хорошо показывает, что большинство не способно работать без надзирателей :no: куча менедежров привратилось в тыкву и перешло на жесткий микроменеджмент
Вчера посмотрел видео от Юрия Вдудя про Кремниевую долину. Понравилось выражение про начальников, которые на удаленке стали чайка-менеджерами - прилетел, наорал, насрал и улетел :D
да, меня тоже этот термин порадовал :mrgreen: при это можно еще добавить "сожрал все ресурсы" и улетел

Return to “Работа и Карьера в IT”