小编Sim*_*n H的帖子

使用window.name在同一选项卡中打开电子邮件中的链接

我正在开发一个网站,用户可以在此网站上更改必须确认的设置才能生效.

确认是通过我通过电子邮件发送的链接完成的.在网站的HTML中我使用这个小片段:

<script type="text/javascript">window.name="mysite";</script>
Run Code Online (Sandbox Code Playgroud)

在我使用的HTML电子邮件中

<a href="..." target="mysite">Click me</a>
Run Code Online (Sandbox Code Playgroud)

但Chrome总是打开新标签,而不是一次性打开它们.

这是偶数还是由于某些原因被禁止?

html hyperlink target

19
推荐指数
2
解决办法
2113
查看次数

Symfony2/Doctrine2 - ManyToOne - 保存反面

我是Symfony和Doctrine的新手.

我有一个实体"用户"和一个实体"类型".一个用户可以拥有一个喜欢的类型,一个类型可以拥有许多具有该特定类型作为收藏的用户.所以我需要一个多(用户)到一个(类型)的关系.

我实现了它,它工作正常(大多数情况下).但有一件事我不明白.

如果我做这样的事情它的作用:

$user = new User();
$type = new Type();

$user->setFavoriteType($type);
$em->persist($user);
$em->persist($type);
$em->flush();
Run Code Online (Sandbox Code Playgroud)

生成对象并将其存储到DB.并且正确设置了favorite_type_id.所以改变拥有方可以按预期工作.

但是如果我将用户添加到反面(仅)并刷新实体管理器,则不设置favorite_type_id.

$user = new User();
$type = new Type();

$type->getUsers()->add($user); //same with $type->addUser($user);
$em->persist($user);
$em->persist($type);
$em->flush();
Run Code Online (Sandbox Code Playgroud)

这是为什么?有没有理由说它不能从反面起作用?我真的必须手动设置吗?如果我操作类型实体中的addUser方法,如"$ user-> setFavoriteType($ this)",它可以工作.但这不应该是学说的任务吗?

文件说

更新双向关联时,Doctrine仅检查双方中的一方以查找这些更改.这被称为协会的拥有方.

所以这似乎是通缉行为,是吗?但为什么?由于表现?语义原因?

如果有人可以向我解释或告诉我我做错了什么,我会很高兴的.

entity one-to-many many-to-one symfony doctrine-orm

9
推荐指数
1
解决办法
2175
查看次数

Swift 3 中的 AVAudioRecorder:获取字节流而不是保存到文件

我是 iOS 编程新手,我想使用 Swift 3 将 Android 应用程序移植到 iOS。该应用程序的核心功能是从麦克风读取字节流并实时处理该流。因此,将音频流存储到文件并在录音停止后对其进行处理是不够的。

我已经找到了可以工作的 AVAudioRecorder 类,但我不知道如何实时处理数据流(过滤、将其发送到服务器等)。AVAudioRecorder 的 init 函数如下所示:

AVAudioRecorder(url: filename, settings: settings)
Run Code Online (Sandbox Code Playgroud)

我需要的是一个类,我可以在其中注册一个事件处理程序或类似的类,每次读取 x 个字节时都会调用该类,以便我可以处理它。

AVAudioRecorder 可以做到这一点吗?如果没有,Swift 库中是否还有另一个类可以让我实时处理音频流?在 Android 中我使用 android.media.AudioRecord 所以如果 Swift 中有一个等效的类那就太好了。

问候

microphone avaudiorecorder audio-processing ios swift

7
推荐指数
1
解决办法
2193
查看次数

向virtualbox添加更多内核会使应用程序从16个内核开始变慢

目前我正在测试具有64个内核的服务器上的应用程序.此服务器安装了虚拟机,最多可以使用32个核心但不能更多(此限制由virtualbox提供).由于我使用mininet测试我的应用程序,我需要root权限才能执行它.我没有服务器上的root权限,但是在VM中.所以我的设置是:

  • 主机有64个核心并安装了ubuntu

  • 带ubuntu的virtualbox VM有1到32个核心

  • 我的应用程序在16个mininet主机上运行,​​每个主机都运行一个使用多播和单播相互通信的程序,但现在没有太多请求.每个主机启动后大约有5个请求.开始时延迟3秒以避免开始时的瓶颈

  • 我的应用程序使用多个线程,但主机上的每个应用程序实例都独立于其他应用程序

  • 我的应用程序使用python的APScheduler,完全用python编写

我认为使用32核运行它是最好的.但是,当我这样做时,一切都开始挂起.我在APScheduler中获得超时,系统负载非常高.

所以我尝试了1到32之间的每个核心数.以下是一些例子:

1核心 1核心

4核心 4个核心

8个核心 8个核心

12核心 12个核心

16核 16个核心

20个核心 20个核心

23核心 23个核心

27核心 27个核心

32核心 32个核心

x轴是半秒,y acis是由top -b -n 1以百分比形式报告的CPU负载.我用每个核心计数运行应用程序大约10分钟.蓝线是我的应用程序的平均CPU负载.红线是我的应用程序,绿线是整个系统的负载.

如您所见,负载降低到大约16个核心.当使用超过16个内核时,它会变得更慢,从大约23个内核开始,它变得非常慢.即使那个记录CPU负载的进程甚至不再调用的速度很慢.这就是为什么上图中的图表更短......

有没有人知道可能是什么问题?这是虚拟机的已知错误吗?这是一个mininet问题吗?还是一个linux问题?我如何知道哪些部件会导致极端负载?

如果您需要更多信息,请写评论,我将编辑问题.

来宾系统的负载从未高于50%,所以我认为这不是问题.

VMWare可能会更快吗?

编辑 我查看了这些图,发现描述我的应用程序的平均CPU负载的蓝线(所有mininet主机上的所有实例的平均值)在从1变为2到3到16核时甚至变得更高.但是从1到16个核心,我的应用程序的CPU负载增加非常非常慢.虽然这增加了整体系统负载下降(这在我看来是有道理的,因为ubuntu可以在不同的核上执行其任务,只要没有共享的资源就更快).

那么为什么平均值会增加?为什么它从16核心开始呈指数级增长?

python cpu performance virtualbox overhead

6
推荐指数
1
解决办法
1133
查看次数

NLP:在 doc2vec / word2vec 中进行预处理

一些关于词和文档嵌入主题的论文(word2vec、doc2vec)提到他们使用斯坦福 CoreNLP 框架来标记/词形还原/词性标记输入的词/句子:

语料库使用斯坦福 CoreNLP (Manning et al., 2014) 进行词形还原和 POS 标记,并且每个标记都被替换为其引理和词性标记

( http://www.ep.liu.se/ecp/131/039/ecp17131039.pdf )

对于预处理,我们使用斯坦福 CoreNLP 对单词进行标记和小写

( https://arxiv.org/pdf/1607.05368.pdf )

所以我的问题是:

  • 为什么第一篇论文应用 POS 标签?然后每个令牌会被替换为类似的东西{lemma}_{POS},整个东西用来训练模型吗?还是标签用于过滤令牌?例如,gensims WikiCorpus 默认应用词形还原,然后只保留几种类型的词性(动词、名词等)并去除其余部分。那么推荐的方式是什么?

  • 在我看来,第二篇论文中的引述就像他们只是将单词分开然后小写。这也是我在使用维基语料库之前第一次尝试的。在我看来,这应该为文档嵌入提供更好的结果,因为大多数 POS 类型都有助于句子的含义。我对吗?

在最初的 doc2vec 论文中,我没有找到有关其预处理的详细信息。

nlp stanford-nlp gensim word2vec doc2vec

5
推荐指数
1
解决办法
517
查看次数

WordNetLemmatizer:wn.ADJ 和 wn.ADJ_SAT 的不同处理?

我需要使用 nltk 对文本进行词形还原。为了做到这一点,我应用nltk.pos_tag到每个句子,然后将生成的 Penn Treebank 标签 ( http://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html ) 转换为 WordNet 标签。我需要这样做,因为WordNetLemmatizer.lemmatize()期望单词及其正确的 pos_tag 作为参数,否则它只会假设一切都是动词。

我刚刚发现 WordNet 中定义了五个不同的标签:

  • 动词
  • Wn.ADV
  • wn.NOUN
  • wn.ADJ
  • wn.ADJ_SAT

但是,我在 Internet 上找到的每个示例在将 Treebank标签转换为 WordNet 标签时都忽略了 wn.ADJ_SAT。它们都只是将 Penn 标签映射到 WordNet 标签,如下所示:

  • 如果 Penn 标签以 J 开头:转换为 wn.ADJ
  • 如果 Penn 标签以 V 开头:转换为 wn.VERB
  • 如果 Penn 标签以 N 开头:转换为 wn.NOUN
  • 如果 Penn 标签以 R 开头:转换为 wn.ADV

所以 wn.ADJ_SAT 从来没有被使用过。

现在的问题是,是否存在词形还原器为 ADJ_SAT 返回与 ADJ 不同的结果的情况。什么是卫星形容词 (ADJ_SAT) 和非正常形容词 (ADJ) 的单词示例?

python nlp nltk wordnet lemmatization

5
推荐指数
1
解决办法
1321
查看次数

连体网络:为什么网络要复制?

Facebook 的 DeepFace 论文使用 Siamese 网络来学习度量。他们说提取 4096 维人脸嵌入的 DNN 必须在 Siamese 网络中复制,但两个副本共享权重。但是如果它们共享权重,那么其中一个的每次更新也会改变另一个。那么为什么我们需要复制它们呢?

为什么我们不能只将一个 DNN 应用于两个人脸,然后使用度量损失进行反向传播?他们可能是这个意思,只是为了“更好”理解而谈论重复的网络吗?

引自论文:

我们还测试了一种端到端的度量学习方法,称为 Siamese 网络 [8]:一旦学习,人脸识别网络(没有顶层)被复制两次(每个输入图像一个)和这些特征用于直接预测两个输入图像是否属于同一个人。这是通过以下方式实现的:a)取特征之间的绝对差异,然后是 b)映射到单个逻辑单元(相同/不相同)的顶部完全连接层。该网络的参数数量与原始网络大致相同,因为其中大部分在两个副本之间共享,但需要两倍的计算量。请注意,为了防止在人脸验证任务上过度拟合,我们仅对最顶层的两个层进行了训练。

论文:https : //research.fb.com/wp-content/uploads/2016/11/deepface-closure-the-gap-to-human-level-performance-in-face-verification.pdf

metrics facebook face-recognition neural-network conv-neural-network

3
推荐指数
1
解决办法
1281
查看次数

在 Python 中将 unicode 表情符号转换为 ascii 表情符号

有没有办法在 Python 中将 unicode 表情符号转换为适当的 ascii 表情符号?我知道表情符号库 可用于将 unicode 表情符号转换为 :crying_face: 之类的东西。但我需要的是将其转换为 :'(

有没有一种优雅的方法可以做到这一点,而无需手动翻译每个可能的表情符号?另一种选择是将 ascii 表情符号也转换为其文本表示形式,即 :'( 应该变成 :crying_face:。

我的中期目标是找到一种将 ascii 和 unicode 表情符号转换为通用表示形式的方法。我的最终目标是用表情符号(无论是 unicode 还是 ascii)替换它们所代表的情感(如果它们不代表情感,请将其删除)

python unicode nlp emoticons emoji

3
推荐指数
1
解决办法
2276
查看次数

TypeScript:访问对象上未定义的键时返回的类型错误?

在 TypeScript 中使用带有可变键的对象时,我注意到意外的类型。

给出以下代码

type MyType = {
  [x: number] : number
}

const o : MyType = {
  0: 1,
}

const a = o[0]; // Return type correctly identified as number
const b = o[1]; // Return type should be undefined and compiler should not allow this
Run Code Online (Sandbox Code Playgroud)

我注意到,[...]当使用变量键的语法定义对象类型时,无法正确检测到对象访问的类型[x: number]

VSCode 向我显示 和a 都有b类型number。难道类型不应该是number | undefined相反的吗,因为可能会发生键未定义的情况?当登录ab控制台时,是a一段number时间bundefined

MyType …

javascript types typescript

3
推荐指数
1
解决办法
1万
查看次数

TypeScript:接受映射到特定类型的所有对象键

给定一个对象类型(或类类型),我想编写一个接受该对象及其键列表的函数。但是,我只想允许映射到特定类型值的键,例如仅字符串。

例子:

function shouldOnlyAcceptStringValues(o, key) {
    // Do something with o[key] that depends on the assumption that o[key] has a specific type, e.g. string
}

const obj = {
    a: 1,
    b: "test",
    c: "bla"
}

const key = "c" as const;
shouldOnlyAcceptStringValues(obj, key);  // b and c should be accepted as keys, a not.
Run Code Online (Sandbox Code Playgroud)

我知道一种强制执行key实际存在的方法o(无论 的类型如何o[key]):

function shouldOnlyAcceptStringValues<T>(o: T, key: keyof T) {
    // Do something with o[key] that depends on the assumption …
Run Code Online (Sandbox Code Playgroud)

types typescript

3
推荐指数
1
解决办法
344
查看次数