Ссылочный ASP.NET управляет идентификатором в JavaScript?

Когда вы используете cross_entropy_with_logits_v2, важно, чтобы вы пропустили логит. Это называется logit к предыдущему значению перед применением softmax. Должно быть так:

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(logits=regular_prediction, labels=y))

Эта функция выполняет softmax, а затем cross_entropy. Это так, потому что, если они применяются отдельно в обратном распространении, вы можете иметь числовую нестабильность. Но при одновременном применении он упрощается при обратном распространении и становится на 100% стабильным.

РЕДАКТИРОВАТЬ: cross_entropy_with_logits_v2 представляет собой слой, который выполняет следующие cross_entropy (softmax (x), y). Проблема в том, что в обратном направлении эта комбинация cross_entropy и затем softmax не является численно устойчивой. Вот почему вы получаете нанс. Когда оба они объединены, упрощение выполняется следующим образом: https://deepnotes.io/softmax-crossentropy

Если применить один, а затем другой, тензор потока не будет иметь умение упрощать.

46
задан Qantas 94 Heavy 16 September 2014 в 03:26
поделиться

5 ответов

О, и я также нашел это, в случае, если у кого-либо еще есть эта проблема.

Использование пользовательский селектор jQuery для средств управления asp.net: http://john-sheehan.com/blog/custom-jquery-selector-for-aspnet-webforms/

0
ответ дан NetHawk 26 November 2019 в 20:20
поделиться

Это сообщение Dave Ward могло бы иметь то, что Вы ищете:

http://encosia.com/2007/08/08/robust-aspnet-control-referencing-in-javascript/

Выборка от статьи:

Действительно существует. Лучшее решение состоит в том, чтобы использовать встроенный код ASP.NET для введения свойства control’s ClientID:

$get('<%= TextBox1.ClientID %>')

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

И некоторый пример кода Dave от потока комментария того сообщения:

<script>
  alert('TextBox1 has a value of: ' + $get('<%= TextBox1.ClientID %>').value);
</script>

поток комментария к статье, которую я связал выше, имеет некоторое хорошее обсуждение также.

71
ответ дан Chuck 26 November 2019 в 20:20
поделиться

Несколько мыслей об этом:

1) у меня была большая удача, получая элементы css классом вместо идентификатора, потому что идентификаторы asp.net не надежны, как Вы заявили. Я использую эту функцию, и она работает обоснованно хорошо:

function getElementsByClass(searchClass,node,tag) {
 var classElements = new Array();
 if ( node == null )
    {
        node = document;
    }

 if ( tag == null )
    {
        tag = '*';
    }

 var els = node.getElementsByTagName(tag);
 var elsLen = els.length;
 var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");

 for (i = 0, j = 0; i < elsLen; i++) 
    {
        if ( pattern.test(els[i].className) ) 
            {
                classElements[j] = els[i];
                j++;
            }
      }
 return classElements;
}

2) jQuery помогает здесь много. Используя jQuery можно надежно получить элементы, где идентификатор заканчивается определенной строкой. В то время как это не причина использовать jQuery, это определенно плюс.

3) Это будет зафиксировано в asp.net 4.0, так зависните там:-) http://weblogs.asp.net/asptest/archive/2009/01/06/asp-net-4-0-clientid-overview.aspx

12
ответ дан brendan 26 November 2019 в 20:20
поделиться

Я не думаю, что существует единственная "лучшая практика" для того, чтобы сделать это. Существует много различных довольно хорошо методы. Здесь является нашим:

Каждое управление, которое имеет клиентскую функциональность, представляет встроенный блок сценария, непосредственно ниже разметки для управления:

<span id="something_crazy_long">
    control markup
</span>
<script type="text/javascript">new CustomControl('something_crazy_long');</script>

Каждое управление имеет сопровождение JS как:

var CustomControl = function(id) {
    this.control = document.getElementByID(id);
    this.init();
};

CustomControl.prototype.init = function() {
    //do stuff to wire up relevant events
};

В codebehind, мы делаем что-то как:

class CustomControl : Control

override void Render(HtmlTextWriter writer)
{
    writer.WriteBeginTag("span");
    writer.WriteAttribute("id", this.ClientID);
    writer.Write(HtmlTextWriter.TagRightChar);
    //write control markup
    writer.WriteEndTag("span");
    writer.WriteBeginTag("script");
    writer.WriteAttribute("type", "text/javascript");
    writer.Write(HtmlTextWriter.TagRightChar);
    writer.Write(
        string.Format("new CustomControl('{0}');", this.ClientID)
    );
    writer.WriteEndTag("script");
}
0
ответ дан Rex M 26 November 2019 в 20:20
поделиться

Я делаю что-то подобное Королю M кроме избежать нескольких тегов script, я использую функцию в своем базовом классе страницы для регистрации средств управления, я собираюсь использовать сторону клиента, затем выложить их к HTML в 1 теге script.

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

0
ответ дан Element 26 November 2019 в 20:20
поделиться
Другие вопросы по тегам:

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