Создайте пользовательскую функцию потерь для среднего пересечения объединения для регрессии в ограничивающих прямоугольниках

Вы можете сделать это с помощью PhantomJSDriver.

PhantomJSDriver pd = ((PhantomJSDriver) ((WebDriverFacade) getDriver()).getProxiedDriver());
pd.executePhantomJS(
            "this.onResourceRequested = function(request, net) {" +
            "   net.setHeader('header-name', 'header-value')" +
            "};");

Используя объект запроса, вы также можете фильтровать так, чтобы заголовок не был установлен для каждого запроса.

2
задан Aakash kumar Goryan 24 February 2019 в 08:21
поделиться

1 ответ

Это означает, что все операции внутри вашей пользовательской функции потерь должны быть дифференцируемыми, поскольку в противном случае процедура оптимизации не может быть выполнена. Для этого вам просто нужно один за другим проверить, какая операция является преступником в вашем коде, и заменить ее дифференцируемым внутренним аналогом Keras или найти какую-то другую альтернативу.

Учитывая предоставленный фрагмент кода, может быть несколько возможных предложений, чтобы он работал:

  • цикл for должен быть векторизован
  • , так как вы используете max (0,. ..) чтобы получить область пересечения, может случиться так, что она постоянна 0 и градиент недоступен, поэтому проверьте, не застрял ли он там
  • для вычисления среднего значения есть готовые керары Бэкэнд-функция K.mean
  • Хорошая практика - связывать значения для улучшения оптимизации (например, до диапазона (0,1))

Надеюсь, это поможет

0
ответ дан Michael Glazunov 24 February 2019 в 08:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: