我正在阅读Bergstra et al "Theano: new features and speed improvements" [2012]并且在此背景下并不理解“ symbolic ”的含义(例如指向目录的符号链接:
在Python中使用Theano的符号定义的实现 循环通过迭代过程防止符号区分, 并防止应用某些图优化。 将循环完全展开到符号链中通常会导致 无法管理的大图,不允许“while”式循环 具有可变数量的迭代。
答案 0 :(得分:5)
此上下文中的符号表示symbolic math。
这意味着您可以使用符号执行数学编程,而不需要需要数值的变量,例如
y = x**2 + 5*x + 7
为使上述在非符号数学中有效,变量x
需要有一个数值,右侧的结果将被赋值给y
,然后会有一个数值。
相反,在符号数学中,变量x
和y
可能是符号,因此您可以执行类似(在伪代码中)
diff(y, x) # meaning differentiate y with respect to x
,这将导致
dy/dx = 2*x +5
答案 1 :(得分:0)
在这种情况下,这意味着对于// Get the address lines to be displayed
string[] lines = new string[]
{
ticket.Address1,
ticket.Address2,
ticket.Address3,
ticket.Address4,
ticket.ZipCode,
};
// Remove blank lines
IEnumerable<string> filledLines = lines.Where(s => !string.IsNullOrWhitespace(s));
// Add newlines between each line
string html = string.Join(@"<br />", filledLines);
的变量,只有&#39;符号x&#39;变量用于计算。 x = 10
但实际上没有计算值20,只计算代数表达式。这样你就可以在插入实际值之前优化一系列数学运算以节省计算时间或潜在的其他问题,如空分。
不要混淆,但有些相关的是automatic differentiation,也用于神经网络,here's一篇介绍这个概念的好文章。