引用文档:
创建索引时,与键关联的数字指定索引的方向,因此它应始终为1(升序)或-1(降序).方向对于单个键索引或随机访问检索无关紧要,但如果您对复合索引进行排序或范围查询,则该方法很重要.
但是,我认为没有理由为什么指数的方向应该对复合指数起作用.有人可以提供进一步的解释(或示例)吗?
这个链接有效吗?
<a href="?lang=en">eng</a>
Run Code Online (Sandbox Code Playgroud)
我知道浏览器会按预期处理它,我知道空链接也可以 - 但是可以只指定参数吗?
我很好奇,因为问号("?")只是大多数HTTP服务器(AFAIK)的惯例,尽管我承认它是一个普遍的.
所以,回顾一下:
所有浏览器都能正确解释吗?
在RFC中是这样的吗?
我可以期待使用它有些麻烦吗?
更新:关于点击的预期操作是重定向到同一页面,但具有不同的GET参数(上例中为"lang = en").
我想计算NN模型的确定性/置信度(参见我的深层模型不知道的内容) - 当NN告诉我图像代表"8"时,我想知道它是多么确定.我的模型99%确定它是"8"还是51%它是"8",但也可能是"6"?有些数字是相当暧昧的,我想知道模型只是"翻转硬币"的图像.
我已经找到了一些关于这个的理论着作,但是我把它放在代码中有困难.如果我理解正确的话,我应该多次评估测试图像,同时"消灭"不同的神经元(使用辍学)然后......?
在MNIST数据集上工作,我正在运行以下模型:
from keras.models import Sequential
from keras.layers import Dense, Activation, Conv2D, Flatten, Dropout
model = Sequential()
model.add(Conv2D(128, kernel_size=(7, 7),
activation='relu',
input_shape=(28, 28, 1,)))
model.add(Dropout(0.20))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(Dropout(0.20))
model.add(Flatten())
model.add(Dense(units=64, activation='relu'))
model.add(Dropout(0.25))
model.add(Dense(units=10, activation='softmax'))
model.summary()
model.compile(loss='categorical_crossentropy',
optimizer='sgd',
metrics=['accuracy'])
model.fit(train_data, train_labels, batch_size=100, epochs=30, validation_data=(test_data, test_labels,))
Run Code Online (Sandbox Code Playgroud)
问题:我应该如何预测这个模型,以便我也能确定预测?我会很感激一些实际的例子(最好是在Keras,但任何人都会这样做).
编辑:澄清一下,我正在寻找如何使用Yurin Gal概述的方法获得确定性(或解释为什么其他方法会产生更好的结果).
machine-learning uncertainty neural-network deep-learning keras
是否有Python的数学表达式解析器+评估器?
我不是第一个提出这个问题的人,但答案通常指向eval()
.例如,人们可以这样做:
>>> safe_list = ['math','acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', 'ldexp', 'log', 'log10', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'abs']
>>> safe_dict = dict([ (k, locals().get(k, None)) for k in safe_list ])
>>> s = "2+3"
>>> eval(s, {"__builtins__":None}, safe_dict)
5
Run Code Online (Sandbox Code Playgroud)
但这不安全:
>>> s_badbaduser = """
... (lambda fc=(
... lambda n: [
... c for c in
... ().__class__.__bases__[0].__subclasses__()
... if c.__name__ …
Run Code Online (Sandbox Code Playgroud) 如果我理解正确,则URL.createObjectURL
创建表示文件或blob的URL.因为URL只是一个字符串,所以浏览器无法知道您何时完成了URL所代表的资源,因此提供了一个URL.revokeObjectURL
函数.
MDN显示了这个例子
var canvas = document.getElementById("canvas");
canvas.toBlob(function(blob) {
var newImg = document.createElement("img");
var url = URL.createObjectURL(blob);
newImg.onload = function() {
// no longer need to read the blob so it's revoked
URL.revokeObjectURL(url);
};
newImg.src = url;
document.body.appendChild(newImg);
});
Run Code Online (Sandbox Code Playgroud)
所以有些问题
在分配后立即更改代码以撤销URL是否安全newImg.src
?
var canvas = document.getElementById("canvas");
canvas.toBlob(function(blob) {
var newImg = document.createElement("img");
var url = URL.createObjectURL(blob);
newImg.src = url;
// no longer need to read the blob as it's assigned to newImg.src
URL.revokeObjectURL(url);
document.body.appendChild(newImg);
});
Run Code Online (Sandbox Code Playgroud)
我猜测答案是"不",因为可能没有任何事情开始 …
我正在尝试做类似嵌入式谷歌地图的工作.我的组件应该忽略单点触摸(允许用户滚动页面)并在自身之外捏(允许用户缩放页面),但应该对双触摸做出反应(允许用户在组件内导航)并且在这种情况下不允许任何默认操作.
如何防止触摸事件的默认处理,但仅限于用户用两个手指与我的组件交互的情况?
我尝试过的:
我试过捕捉onTouchStart
,onTouchMove
然后onTouchEnd
.事实证明,在FF Android上,在对组件进行捏合时触发的第一个事件是单击onTouchStart
,然后onTouchStart
进行两次触摸onTouchMove
.但调用event.preventDefault()
或event.stopPropagation()
在onTouchMove
处理程序不(总是)停止页面缩放/滚动.防止第一次调用中的事件升级onTouchStart
确实有帮助 - 不幸的是,当时我还不知道它是否会是多点触控,所以我不能使用它.
第二种方法正在touch-action: none
开始document.body
.这适用于Chrome Android,但如果我在所有元素上设置此功能(我的组件除外),我只能使其与Firefox Android一起使用.因此,虽然这是可行的,但似乎它可能会产生不必要的副作用和性能问题.编辑:进一步的测试表明,只有在触摸开始之前设置CSS时,这适用于Chrome.换句话说,如果我在检测到2个手指时注入CSS样式,则会touch-action
被忽略.所以这在Chrome上没用.
我还尝试在组件挂载上添加一个新的事件监听器:
document.body.addEventListener("touchmove", ev => {
ev.preventDefault();
ev.stopImmediatePropagation();
}, true);
Run Code Online (Sandbox Code Playgroud)
(和相同的touchstart
).这样做适用于Firefox Android,但在Chrome Android上无效.
我的想法已经不多了.是否有可靠的跨浏览器方式来实现Google显然所做的事情,或者他们是否在每个浏览器上使用多个hacks和大量测试来使其工作?如果有人在我的方法中指出错误或提出新方法,我将不胜感激.
我有一个multiprocessing
泄漏内存的应用程序.但是,泄漏不是主要过程(根据Dowser和top
),而是在子过程中.有什么办法可以在子过程中使用Dowser(或类似的工具)来追踪泄漏吗?如果没有,它如何追踪它?
更新:我花了很多时间尝试使用heapy和gnibbler的代码,但我无法找到泄漏.然后我在主过程中停止了cherpy并在子进程中启动了另一个(使用Dowser).但几分钟后,CherryPy就会停止收听端口... :(所以我仍然在寻找更好的主意.
目前我在HTMLPurifier中使用此代码来允许data-*
HTML标记属性:
$def = $config->getHTMLDefinition(true);
$def->addAttribute('div', 'data-aaa', 'Text');
$def->addAttribute('div', 'data-bbb', 'Text');
// ...
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以同时允许所有data-*
属性,最好是在所有HTML标签上?(在我的情况下,它们不是安全问题 - 当然,据我所知)
我想在GPL许可下发布项目,但是想在接受合并请求之前请求CLA(贡献者许可协议)签名.
GitHub有一些自动化的解决方案(ClaHub,cla-assistant),但我找不到任何与GitLab相似的东西.一个长期存在的问题是在本地添加对它的支持,但它已在2年前开放.
我知道Git签收可以用于DCO,但我想知道它是否可以某种方式(ab)用于签署CLA协议?
简而言之,我如何使签署的CLA过程尽可能轻松地为贡献者和我自己签署,同时仍然使协议(在某种程度上)具有法律约束力?
编辑:对投票结束的人:我再次检查了指导方针,在我看来这个问题正好落在了software tools commonly used by programmers; and is a practical, answerable problem that is unique to software development
.它也不属于列出的例外,至少我理解它们的方式.也就是说,我很感激评论投票的原因,以便我可以更好地制定问题或者在需要时找到更合适的StackExchange网站.
javascript ×2
php ×2
python ×2
get ×1
git ×1
gitlab ×1
graph ×1
html ×1
html5 ×1
htmlpurifier ×1
indexing ×1
keras ×1
memory-leaks ×1
mongodb ×1
parameters ×1
performance ×1
profiling ×1
reactjs ×1
sorting ×1
uncertainty ×1
url ×1