问题标签 [unfold]

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.

0 投票
2 回答
383 浏览

haskell - 什么是特定于 list 的同构类型,它是如何实现的?

我正在学习递归方案,事实证明,针对列表类型实现它们对我很有帮助。然而,我被困在了同态。

这是tails我最近发现的关于 apo 的实现:

不幸的是,我无法Data.Functor.Foldable使用 GHCi 导入,因为我收到了未找到包的错误。另一项搜索揭示了这种特定于列表的 apo 实现:

显然,apoList的第一个参数与 不匹配tailsApo。我会将类型解释为apoList :: ([b] -> Either (a, b) [a])) -> [b] -> [a].

似乎没有更多关于这个主题的初学者友好信息。我很感激任何帮助。

0 投票
1 回答
138 浏览

clojure - 编写一个尽可能延迟的类似展开器的函数来生成任意分解

问题表述

通俗地说,我想编写一个函数,它以生成二进制分解和一个元素(通常是中性)的函数作为输入,创建一个任意长度的分解生成器。更具体地说,让我们首先nfoldr在 Clojure 中定义函数。

这里nil使用的意思是“未定义的输出,输入不在函数的域中”。此外,让我们将函数的逆关系f视为定义的集值函数inv(f)(y) = {x | f(x) = y}

我想定义一个函数nunfoldr,这样inv(nfoldr(f , e)(n)) = nunfoldr(inv(f) , e)(n)当每个元素y inv(f)(y)都是有限的时,对于每个二元函数f、元素e和自然数n

此外,我希望在二维的懒惰意义上尽可能懒惰地生成分解。我的目标是,当第一次获得分解的某些部分时,下一部分或下一个分解所需的(很多)计算不会发生。类似地,当第一次获得一个因式分解时,下一个分解不需要进行计算,而之前的所有分解都完全实现了。

在另一种形式中,我们可以使用以下较长版本的nfoldr,这相当于较短e的 是中性元素。


一个特例

这个问题是该问题中描述的生成分区问题的概括。让我们看看如何将旧问题简化为当前问题。我们有每个自然数n

npt(n) = inv(nconcat(n)) = inv(nfoldr(concat2 , ())(n)) = nunfoldr(inv(concat2) , ())(n) = nunfoldr(pt2 , ())(n)

在哪里:

  • npt(n)生成n-ary 分区
  • nconcat(n)计算n-ary 连接
  • concat2计算二进制连接
  • pt2生成二进制分区

因此,以下定义给出了该问题的解决方案。

0 投票
1 回答
106 浏览

scala - 尝试在函数中“全局”匹配整数参数 - Scala

首先,如果标题具有误导性,我深表歉意,它基于我认为我的问题可能是什么。我正在创建一个惰性元组列表,最终目标是找到所有值小于或等于 n 的毕达哥拉斯三元组,而不是创建所有可能的“三元组”组合,我采用了这种我认为更有效的方法但可能有点矫枉过正,但是,它有效:)

现在我试图把它变成一个函数,它可以做完全相同的事情,同时只将 n 作为一个可能非常简单的参数,但是我一直在尝试模式匹配给定的 n 参数时遇到问题。到目前为止,这是我想出的:

我在尝试像之前所做的那样初始化列表时不断收到错误,并且作为 Scala 的初学者,我似乎无法理解为什么。我已经尝试过使用和不使用反引号的论点,但这也不起作用。想知道是否有人可以帮助我解决问题,并且我想知道是否可以在函数中“全局”匹配给定的整数参数。谢谢!

0 投票
1 回答
66 浏览

haskell - 列出从 Haskell 到 SML 的 colgebra 转换代码

我正在尝试在描述列表变形的 Haskell 中翻译这段代码,但不能完全让它工作。

最后三行应该生成一个函数 count 给定一个 int 将产生一个 int 列表 [n, n-1, ..., 1]

哈斯克尔代码:

到目前为止我所拥有的:

我收到以下错误:

不知道如何解决这个问题,因为我对 SML 不是很精通。

0 投票
1 回答
93 浏览

f# - F# 中带有 Seq.unfold 的 Seq.cache

我正在尝试缓存无限序列的三角形数字的结果。

但是,当我尝试缓存时,它似乎并没有像我预期的那样工作

这打印

我缓存不正确吗?打印的第二个序列不应该是第一个序列的延续吗?我不太确定如何进步。

0 投票
1 回答
62 浏览

java - 展开循环三遍

我得到了这个 Java 函数,我必须编写一段代码,该代码通过展开循环三次而得到。这是什么意思?

0 投票
0 回答
50 浏览

tensorflow - 如何检查/查看任何 Keras(Dense、Conv1D、LSTM)层的内部操作和计算?

我对 Keras 层的架构有疑问。关于展开层的架构。例如,我想看看 Keras 中用于 Dense 层的主要方程,n. 神经元的数量、激活函数和偏差是相互关联的。这对于 Dense 层的逻辑低估似乎非常简单。但是,例如,找出相应层内的 tfa.ESN 层乘法对我很有帮助。

谢谢大家,J

0 投票
1 回答
41 浏览

swift - 定义通用展开器函数

使用此定义,我收到以下错误:

有没有办法解决这个问题并定义这个功能?

0 投票
2 回答
90 浏览

python - 我在哪里可以找到关于 PyTorch 的 Tensor.unfold() 用于获取图像补丁的直观解释?

最近我遇到了一些代码,它从形状为 N x B x H x W 的 RGB 图像(或它们的集合)中提取(滑动窗口样式)许多方形补丁。他们这样做如下:

通过阅读文档,我了解到该方法“从维度中的自张量unfold()返回所有大小的切片”,但是尽我所能,我只是无法很好地理解为什么堆叠两个调用会产生方形补丁。我知道当你在张量上使用一次时会发生什么。我不明白当你在两个不同的维度上连续调用它两次时会发生什么。sizedim.unfold()unfold()

我已经多次看到这种方法被使用过,但总是没有很好地解释它为什么起作用(1、2),这让我发疯了。为什么空间维度HW置换为暗淡 1 和 2,而通道暗淡设置为 3?为什么在昏暗 1 上以相同的方式展开,然后在昏暗 2 上会产生正方形patch_widthpatch_width补丁?

任何见解都将不胜感激,即使它只是我错过的文章的链接。我已经在谷歌上搜索了一个多小时,但收效甚微。谢谢!

[1] PyTorch 论坛帖子

[2]另一个论坛帖子做同样的事情

0 投票
1 回答
36 浏览

highcharts - Highcharts 折叠/展开瀑布

我使用 Highcharts 瀑布(以及用于多种测量的堆叠瀑布),它非常强大。我想通过动态折叠/展开获得更好的渲染。在以下示例中:https ://jsfiddle.net/vegaelce/4x1ndpjr/ 我将默认隐藏所有 california/colorado/dc 列(只有小计和总计列可见),当鼠标悬停在小计/总计列上时,专用的 california显示 /colorado/dc 列。

我想我可以使用

但是如何隐藏不是 isIntermediateSum 的列并仅显示与 isIntermediateSum overed 相关的列?

谢谢