小编sta*_*010的帖子

FFT系数问题

我是第一次从事DSP工作的软件工程师.

我成功地使用了产生频谱的FFT库.我也理解FFT如何根据其输入和输出工作,特别是两个输出数组的内容: 在此输入图像描述

现在,我的问题是我正在阅读一些新的研究报告,这些报告表明我提取:"FFT系数的能量,方差和总和".

  1. 什么是'FFT系数'?那些是上面显示的实数和虚数数组的值,(根据我的理解)对应于组成余弦和正弦波的幅度?

  2. FFT系数的"能量"是多少?这是来自统计学还是来自DSP的术语?

signal-processing fft

10
推荐指数
2
解决办法
7260
查看次数

AWS 账户与亚马逊消费者账户

我是 Amazon.com 的长期客户,现在我对使用 Amazon Web Services (AWS) 感兴趣。所以我有一个关于创建 AWS 账户的问题。

  1. 我是否可以选择创建一个与我的 Amazon.com 账户完全分开的 AWS 账户(使用不同的电子邮件地址)?

  2. 如果我对 AWS 和 Amazon.com 使用相同的电子邮件地址,会发生什么情况?

account amazon-web-services

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

给定GPS坐标,我如何找到附近的地标或兴趣点?

我刚买了一台谷歌Nexus One智能手机,我想写一个小型的Android应用程序,以获得乐趣.假设我可以获得当前的GPS坐标,那么我如何能够以编程方式在某个半径范围内找到附近的地标或兴趣点?是否有API可以获取GPS地理标记的地标,例如Google地球的数据库?

例如,如果我在芝加哥市中心,我的计划将指向我在该城市访问的所有"旅游"事物.

理想情况下,它会在我的智能手机上运行,​​但如有必要,我可以让智能手机查询网络服务器,然后运行更多查询.

gps android google-maps

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

仅使用下限设置R plot xlim

假设我创建了一个这样的简单图:

xvalues <- 100:200
yvalues <- 250:350
plot(xvalues, yvalues)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

但是,我希望x轴从0开始,并将上限保留为R计算的任何内容.我该怎么做?

我知道xlim = c(下限,上限)有一个选项,但我不知道上限是什么.另外,我显然无法让上限未指定:

> plot(xvalues, yvalues, xlim=c(0))
Error in plot.window(...) : invalid 'xlim' value
Run Code Online (Sandbox Code Playgroud)

如果我不必计算xvalues向量的最大值以获得上限,那将是很好的,因为这对于非常大的数据向量来说似乎是浪费的.

r

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

分布式Tensorflow:谁应用参数更新?

我已经使用过TensorFlow但是对于训练模型分发TensorFlow是新手.我的理解是,当前的最佳实践支持使用异步更新的数据并行模型:

Google Brain团队于2016年4月发布的一篇论文对各种方法进行了基准测试,发现使用一些备用复制品进行同步更新的数据并行性是最有效的,不仅收敛速度更快,而且还能产生更好的模型.- 使用Scikit-Learn和Tensorflow进行动手机器学习的第12章 .

现在,我对进一步阅读这个架构的困惑是弄清楚哪个组件应用了参数更新:工作者还是参数服务器?

在下面的插图中,我很清楚工人计算梯度dJ/dw(损失J相对于参数权重w的梯度).但谁应用梯度下降更新规则?

在此输入图像描述

令人困惑的是,这篇关于分布式TensorFlow的O'Reilly文章指出了以下内容:

在更集中的架构中,设备以渐变的形式将其输出发送到参数服务器.这些服务器收集并聚合渐变.在同步训练中,参数服务器计算模型的最新版本,并将其发送回设备.在异步训练中,参数服务器将梯度发送到本地计算新模型的设备.在这两种体系结构中,循环重复直到训练终止.

上段建议在异步培训中:

  1. 工作人员计算渐变并将其发送到参数服务器.
  2. 参数服务器将渐变广播给工作人员.
  3. 每个工作人员接收广播的梯度并应用更新规则.

我的理解是否正确?如果是,那对我来说似乎并不是非同步的,因为工作人员必须等待参数服务器广播渐变.任何解释将不胜感激.

machine-learning tensorflow

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

使用间隔树重叠最大间隔

这是一个有趣的问题:给定一组N个区间([start,end]),使用区间树来查找重叠区间的最大数量.

StackOverflow上的类似问题提供了O(N)解决方案,但是如果我们可以将区间预处理到区间树中,也许我们可以在对数时间内找到解.

实际上,Cormen等人的"算法导论"一书中的练习问题表明,这可以通过增加红黑间隔树来实现.有什么想法可以做到这一点?

algorithm interval-tree

8
推荐指数
1
解决办法
7513
查看次数

我的智能手机每秒可以进行多少次FFT?(用于执行语音识别)

我正在探索语音识别和DSP,所以我想在我的智能手机上实现一个简单的声音频率分析仪(我有一部iPhone和三星Nexus S运行Android).我以前在Matlab中完成了基本的DSP.

根据我的理解,我需要执行FFT来获得信号的基频.

所以现在,我想以44100赫兹对麦克风进行采样.如果我使用样本大小为512且具有50%重叠的滑动窗口,则意味着我需要每256个样本进行一次FFT,或0.00580秒.

这个速度似乎非常高,特别是如果我使用Java编写Android版本.我的智能手机能够处理这个速度吗?我知道您可以在Android上使用C/C++进行编程,但我想暂时将它与Java保持一致.

iphone audio android signal-processing fft

8
推荐指数
2
解决办法
4443
查看次数

Java编译器是否会在for循环条件下优化String.length()?

请考虑以下Java代码片段:

String buffer = "...";
for (int i = 0; i < buffer.length(); i++)
{
    System.out.println(buffer.charAt(i));
}
Run Code Online (Sandbox Code Playgroud)

既然String是不可变的并且buffer没有在循环中重新分配,那么Java编译器是否足够智能以buffer.length()在for循环条件下优化掉调用?例如,它是否会发出等效于以下的字节代码,其中buffer.length()分配给变量,并且该变量在循环条件中使用?我已经读过像C#这样的语言做这种类型的优化.

String buffer = "...";
int length = buffer.length();
for (int i = 0; i < length; i++)
{
    System.out.println(buffer.charAt(i));
}
Run Code Online (Sandbox Code Playgroud)

java

8
推荐指数
1
解决办法
899
查看次数

Spark SQL:如何将新行追加到dataframe表(来自另一个表)

我正在使用带有数据帧的Spark SQL.我有一个输入数据帧,我想将其行追加(或插入)到具有更多列的更大的数据帧.我该怎么办?

如果这是SQL,我会使用INSERT INTO OUTPUT SELECT ... FROM INPUT,但我不知道如何使用Spark SQL.

具体:

var input = sqlContext.createDataFrame(Seq(
        (10L, "Joe Doe", 34),
        (11L, "Jane Doe", 31),
        (12L, "Alice Jones", 25)
        )).toDF("id", "name", "age")

var output = sqlContext.createDataFrame(Seq(
        (0L, "Jack Smith", 41, "yes", 1459204800L),
        (1L, "Jane Jones", 22, "no", 1459294200L),
        (2L, "Alice Smith", 31, "", 1459595700L)
        )).toDF("id", "name", "age", "init", "ts")


scala> input.show()
+---+-----------+---+
| id|       name|age|
+---+-----------+---+
| 10|    Joe Doe| 34|
| 11|   Jane Doe| 31|
| 12|Alice Jones| 25| …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

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

如何使用注意掩码计算 HuggingFace Transformers BERT 令牌嵌入的平均值/最大值?

我正在使用 HuggingFace Transformers BERT 模型,我想使用 ormean函数计算句子中标记的摘要向量(也称为嵌入) max。复杂的是,有些标记是[PAD],所以我想在计算平均值或最大值时忽略这些标记的向量。

这是一个例子。我最初实例化 aBertTokenizer和 a BertModel

import torch
import transformers
from transformers import AutoTokenizer, AutoModel

transformer_name = 'bert-base-uncased'

tokenizer = AutoTokenizer.from_pretrained(transformer_name, use_fast=True)

model = AutoModel.from_pretrained(transformer_name)
Run Code Online (Sandbox Code Playgroud)

然后,我将一些句子输入到分词器中,然后input_ids退出attention_mask。值得注意的是,attention_mask值 0 意味着该令牌是[PAD]我可以忽略的。

sentences = ['Deep learning is difficult yet very rewarding.',
             'Deep learning is not easy.',
             'But is rewarding if done right.']
tokenizer_result = tokenizer(sentences, max_length=32, padding=True, return_attention_mask=True, return_tensors='pt')

input_ids = tokenizer_result.input_ids
attention_mask …
Run Code Online (Sandbox Code Playgroud)

machine-learning pytorch bert-language-model huggingface-transformers

8
推荐指数
1
解决办法
4998
查看次数