Size: a a a

Machine learning

2021 January 21

AI

Andrey Ivanov in Machine learning
Green Wizard
есть керас моделька и два варианта вызова:  
1) actions = self._model.predict(np.array(states))
2) actions = self._model(np.array(states)).numpy()

смысл тот же, результаты не проверял  1в1 но  работает, НО второй вариант ощутимо быстрее... кто-то знает почему и, главное, что исп. в, грубо говоря, продакшене?
Офк что быстрее , нужно смотреть саму модель
источник

AI

Andrey Ivanov in Machine learning
Green Wizard
есть керас моделька и два варианта вызова:  
1) actions = self._model.predict(np.array(states))
2) actions = self._model(np.array(states)).numpy()

смысл тот же, результаты не проверял  1в1 но  работает, НО второй вариант ощутимо быстрее... кто-то знает почему и, главное, что исп. в, грубо говоря, продакшене?
При просто вызове он использует call и просто прогоняет прямое распространение
источник

GW

Green Wizard in Machine learning
и есть ли норм сообщество по таким вопросам? вы тут курсы обсуждаете, а я тут со своими вопросами левыми
источник

IS

Igor Savinkin in Machine learning
igor
если вы минимизируете ошибку то положительная константа для поиска минимума не так важна
Это понятно, но на курсе в теории что я слушал правильно с 1/n.
источник

AI

Andrey Ivanov in Machine learning
Andrey Ivanov
При просто вызове он использует call и просто прогоняет прямое распространение
Его можно настроить типо если не учим то сокращенно проходим , а предикт стандартная функция
источник

GW

Green Wizard in Machine learning
Andrey Ivanov
При просто вызове он использует call и просто прогоняет прямое распространение
а predict? типа доп. и градиенты считает, например, потому долго думает?
источник

GW

Green Wizard in Machine learning
хотя нет, я 2й и попробовал т.к. не ловило градиенты
источник

AI

Andrey Ivanov in Machine learning
Green Wizard
хотя нет, я 2й и попробовал т.к. не ловило градиенты
нет градиенты не будет считать
источник

AI

Andrey Ivanov in Machine learning
предикт это форвард пасс
источник

AI

Andrey Ivanov in Machine learning
он обратно не возвращается что бы пересчитать градиенты
источник

GW

Green Wizard in Machine learning
а call....?
источник

AI

Andrey Ivanov in Machine learning
NUM_CLASSES = 11

class Model(tf.keras.Model):
    def init
   def call(self, inp, proposals=None):
       
       if proposals is None: # Режим обучения
         
           out = self.conv1(inp)
           out = self.max_pool(out)
           out = self.conv2(out)
           out = self.max_pool(out)
           out = tf.layers.flatten(out)
           out = self.fc1(out)
           out = self.fc2(out)
           return out
         
       else: # Режим предсказания
         
           assert inp.shape[0] == 1 # Только batch size = 1
           predictions = []
           roi_pool_size = (7, 7)
           
           
           return predictions
   
model = Model()
источник

AI

Andrey Ivanov in Machine learning
Andrey Ivanov
NUM_CLASSES = 11

class Model(tf.keras.Model):
    def init
   def call(self, inp, proposals=None):
       
       if proposals is None: # Режим обучения
         
           out = self.conv1(inp)
           out = self.max_pool(out)
           out = self.conv2(out)
           out = self.max_pool(out)
           out = tf.layers.flatten(out)
           out = self.fc1(out)
           out = self.fc2(out)
           return out
         
       else: # Режим предсказания
         
           assert inp.shape[0] == 1 # Только batch size = 1
           predictions = []
           roi_pool_size = (7, 7)
           
           
           return predictions
   
model = Model()
тут пример кастомного кола , как видишь тут оператор ветвления есть , который отсекает блок создания пропозалов
источник

GW

Green Wizard in Machine learning
не, там чуть иная дичь, но вот прям разделения явного нет) предполагаю, что чисто мой кейс, может оно как-то модель пересобирает/грузит, а она малюсенькая и потому тормозит
источник

Ю

Юрий in Machine learning
K-S
в целом идея был такая: давайте обучим GMM на таргете. Определим средние, стд и веса смеси. И обучим NGBoost на кастомном распределении, которым в нашем случае будет смесь. Но так как NGBoost не на плюсах написан, как остальные бусты, то это все это супермедленно
Подумал про эту идею. В итоге получим модель, которая предполагает отличное от нормального распределение шума, и для задачи как таковой это правильно, но ее работа не будет больше минимизировать RMSE, а лидерборд считает именно его. Получается будучи формально правильным такое решение заведомо проиграет по скору?
источник

K

K-S in Machine learning
Юрий
Подумал про эту идею. В итоге получим модель, которая предполагает отличное от нормального распределение шума, и для задачи как таковой это правильно, но ее работа не будет больше минимизировать RMSE, а лидерборд считает именно его. Получается будучи формально правильным такое решение заведомо проиграет по скору?
Честно говоря, когда речь о таком слабом сигнале, сложно что-то однозначное сказать. Например, у меня было так, что оптимизация tweedie лосса давало лучший MSE, чем непосредственная минимизация MSE 😂
источник

K

K-S in Machine learning
K-S
Честно говоря, когда речь о таком слабом сигнале, сложно что-то однозначное сказать. Например, у меня было так, что оптимизация tweedie лосса давало лучший MSE, чем непосредственная минимизация MSE 😂
Стат тесты, правда, никакие не считал, но было стабильное улучшение на каждом из фолдов на нескольких сидах + улучшение на паблике.

А спустя несколько итераций оптимизаций других гиперпараметров, твиди стал уже хуже, чем MSE. Вот и думай)
источник

Ю

Юрий in Machine learning
K-S
Стат тесты, правда, никакие не считал, но было стабильное улучшение на каждом из фолдов на нескольких сидах + улучшение на паблике.

А спустя несколько итераций оптимизаций других гиперпараметров, твиди стал уже хуже, чем MSE. Вот и думай)
Дела... Кому расскажешь - не поверят) А что за соревы были, на которых твиди временно одерживал верх над mse?
источник

K

K-S in Machine learning
временно - это как раз в этом соревновании) а в целом он хорошо заходит, когда распределение таргета скошено. Лично мне в конкурсе на Zindi помогло. Не сказать, что твиди там явно обыгрывал mse, но вот их бленд - да, серьезно улучшал. Еще вроде в соревнованиях M5 на каггле заходило, но их я не решал
источник

GW

Green Wizard in Machine learning
кстати, а как обычно делают поиск позиции объектов/маркеров на изображении? я взял u-net-подобную архитектуру, вход 224*224, выход - softmax по classN+1 сетками 224*224, таргет - гауссианы вокруг точек, лосс - dice + доп. учитываю типа как центр масс предсказаний в каждом классе... насколько это не правильно?)
источник