问题标签 [pruning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-spark - 如何在 Spark 中启用分区修剪
我正在阅读镶木地板数据,我看到它列出了驱动程序端的所有目录
我在 where 子句中指定了 month=2014-12。我尝试过使用 spark sql 和数据框 API,看起来两者都没有修剪分区。
使用数据框 API
使用 Spark SQL
我已经在 1.5.1、1.6.1 和 2.0.0 版本上尝试过上述方法
c++ - 加速 FFTW 修剪以避免大量零填充
假设我有一个x(n)
很K * N
长的序列,并且只有第一个N
元素不为零。N << K
例如,我假设N = 10
和K = 100000
。我想通过 FFTW 计算这样一个序列的 FFT。这等效于有一个长度序列N
并且对 . 有一个零填充K * N
。因为N
并且K
可能是“大”的,所以我有一个显着的零填充。我正在探索是否可以节省一些计算时间以避免显式零填充。
案子K = 2
让我们从考虑这个案例开始K = 2
。在这种情况下,DFTx(n)
可以写为
如果k
是偶数,即k = 2 * m
,则
这意味着 DFT 的这些值可以通过一个长度序列的 FFT 来计算N
,而不是K * N
.
如果k
是奇数,即k = 2 * m + 1
,则
这意味着 DFT 的这些值可以通过一系列长度的 FFT 再次计算出来N
,而不是K * N
。
因此,总而言之,我可以将单个长度FFT 与长度 FFT2 * N
交换。2
N
任意的情况K
在这种情况下,我们有
在写作k = m * K + t
时,我们有
所以,总而言之,我可以用长度的 FFT 交换一个长度K * N
的K
FFTN
。由于 FFTW 具有fftw_plan_many_dft
,我可以预期在单个 FFT 的情况下会有所收获。
为了验证这一点,我设置了以下代码
我开发的方法包括三个步骤:
- 将输入序列乘以“旋转”复指数;
- 执行
fftw_many
; - 重新组织结果。
fftw_many
比单个 FFTW快K * N
输入点然而,步骤#1 和#3 完全破坏了这种增益。我希望步骤 #1 和 #3 在计算上比步骤 #2 轻得多。
我的问题是:
- 第 1 步和第 3 步怎么可能比第 2 步的计算要求更高?
- 如何改进步骤 #1 和 #3 以相对于“标准”方法获得净收益?
非常感谢您的任何提示。
编辑
我正在使用 Visual Studio 2013 并在发布模式下编译。
tree - 如何使用 Alpha Beta 选择节点
我正在使用带有 Alpha Beta 修剪的 MiniMax 为 Othello 游戏实现 AI。我已经实现了一个 Alpha Beta 算法,它告诉我可以获得的值,但不告诉我应该选择哪个节点?所以我的问题是如何使用 Alpha-Beta 来告诉我应该选择哪个节点,而不是结果值是什么。这是我的 Alpha-Beta 算法的伪代码。
arrays - 如果所有元素都是空的,如何从数组中删除元素?
我正在使用 Ruby 2.4。我有一个数组数组,看起来大致像这样
如果上面列表中的所有元素都是 nil 或空,我将如何消除上面列表中的所有数组?在将这个函数应用到上面之后,我希望结果是
python-3.x - 在 Keras 进行修剪
我正在尝试使用 Keras 设计一个优先考虑预测性能的神经网络,但通过进一步减少每层的层数和节点数,我无法获得足够高的准确度。我注意到我的很大一部分体重实际上为零(> 95%)。有没有办法修剪密集层以希望减少预测时间?
git - 考虑到存储库中非常大的 .git 文件夹
我有一个 287M 客户端的存储库。它大约有 2 1/2 年的历史,对于我工作过的存储库来说,这个大小并不少见。不寻常的是其中 181M 是 .git 文件夹。
没有过多的分支,就此而言,我一直认为分支本身不会占用那么多空间,它只是一个指针。但如果这是错误的,也请纠正我。
我的问题与导航有关(当然还有修复它):
- 我如何确定哪些文件对此负责?
- 有一个
db_dump.sql.gz
文件愚蠢地包含在 repo 中。如何删除该文件并将其从 git 历史记录中完全删除,就好像它从未存在过一样?(它是 16M,但我在想如果自动化进程定期转储该文件,并且提交了这些更改,这可能是大尺寸的部分原因)。 - 如果有的话,有什么方法可以减少 git repo 的大小?谢谢。
java - 使用java进行斐波那契序列修剪
这是我使用java实现的斐波那契数列
但是使用递归可视化这种方法让我觉得它会快很多。这是 fib(5) 的可视化。http://imgur.com/a/2Rgxs 但这引起了我的思考,请注意,当我们从递归路径的底部冒泡时,我们计算 fib(2)、fib(3) 和 fib(4) 但随后我们在最右上角的分支上重新计算 fib(3)。所以我在想,当我们冒泡备份时,为什么不保存从左分支计算出的 fib(3),这样我们就不会像我目前的方法那样在右分支上进行任何计算,就像回来时的哈希表一样。我的问题是,我如何实现这个想法?
caching - 缓存表的 Spark SQL 分区修剪
是否为 apache spark 中的缓存 TempTables 启用了分区修剪?如果是这样,我该如何配置它?
我的数据是不同安装中的一堆传感器读数,一行包含安装名称、标签、时间戳和值。
我使用以下命令以镶木地板格式写入数据:
我使用以下命令将这些数据读取到使用 Spark HiveContext 的 SQL 表中:
现在,如果我在该表上运行 SQL 查询,它会按预期进行分区修剪:
查询大约需要 8 秒。但是如果我将表缓存在内存中,然后执行相同的查询,它总是需要大约 50 秒:
我目前正在使用 Spark 1.6.1。
artificial-intelligence - 如何在使用 minimax 算法实现 2048 AI 代理中应用 alpha-beta 剪枝?
我正在为 2048 年开发一个 AI,并且即将应用 minimax 算法。
但是,2048 的搜索树实际上就像没有 Min 角色的 Expectiminimax 树。我想知道如果我没有 Min 角色,我如何在实践中应用 alpha-beta 修剪?
如果我不应该在这种情况下应用 alpha-beta 修剪,我该如何减少无用的搜索分支?
任何想法将不胜感激。谢谢你。