Если вы используете ASP.NET MVC и хотите получить заголовок Accepted-Languages из JavaScript, вот пример обходного пути, который не включает асинхронные запросы.
В вашем файле .cshtml, Храните заголовок надежно в атрибуте данных div:
<div data-languages="@Json.Encode(HttpContext.Current.Request.UserLanguages)"></div>
Затем ваш код JavaScript может получить доступ к информации, например используя JQuery:
<script type="text/javascript">
$('[data-languages]').each(function () {
var languages = $(this).data("languages");
for (var i = 0; i < languages.length; i++) {
var regex = /[-;]/;
console.log(languages[i].split(regex)[0]);
}
});
</script>
Конечно, вы можете использовать аналогичный подход с другими серверными технологиями, как упомянули другие.
Функция потерь используется для оптимизации вашей модели. Эта функция минимизируется оптимизатором.
Метрика используется для оценки производительности вашей модели. Это только для вас, чтобы посмотреть и не имеет никакого отношения к процессу оптимизации.
У меня есть надуманный пример: давайте подумаем о линейной регрессии на 2D-плоскости. В этом случае функция потерь будет среднеквадратичной ошибкой, подобранная линия минимизирует эту ошибку.
Однако, по какой-то причине нас очень очень интересует площадь под кривой от 0 до 1 нашей подогнанной линии, и, таким образом, это может быть одной из метрик. И мы отслеживаем этот показатель, в то время как модель минимизирует среднеквадратичную функцию потери ошибок.