问题标签 [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.
haskell - 什么是特定于 list 的同构类型,它是如何实现的?
我正在学习递归方案,事实证明,针对列表类型实现它们对我很有帮助。然而,我被困在了同态。
这是tails
我最近发现的关于 apo 的实现:
不幸的是,我无法Data.Functor.Foldable
使用 GHCi 导入,因为我收到了未找到包的错误。另一项搜索揭示了这种特定于列表的 apo 实现:
显然,apoList
的第一个参数与 不匹配tailsApo
。我会将类型解释为apoList :: ([b] -> Either (a, b) [a])) -> [b] -> [a]
.
似乎没有更多关于这个主题的初学者友好信息。我很感激任何帮助。
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
生成二进制分区
因此,以下定义给出了该问题的解决方案。
scala - 尝试在函数中“全局”匹配整数参数 - Scala
首先,如果标题具有误导性,我深表歉意,它基于我认为我的问题可能是什么。我正在创建一个惰性元组列表,最终目标是找到所有值小于或等于 n 的毕达哥拉斯三元组,而不是创建所有可能的“三元组”组合,我采用了这种我认为更有效的方法但可能有点矫枉过正,但是,它有效:)
现在我试图把它变成一个函数,它可以做完全相同的事情,同时只将 n 作为一个可能非常简单的参数,但是我一直在尝试模式匹配给定的 n 参数时遇到问题。到目前为止,这是我想出的:
我在尝试像之前所做的那样初始化列表时不断收到错误,并且作为 Scala 的初学者,我似乎无法理解为什么。我已经尝试过使用和不使用反引号的论点,但这也不起作用。想知道是否有人可以帮助我解决问题,并且我想知道是否可以在函数中“全局”匹配给定的整数参数。谢谢!
haskell - 列出从 Haskell 到 SML 的 colgebra 转换代码
我正在尝试在描述列表变形的 Haskell 中翻译这段代码,但不能完全让它工作。
最后三行应该生成一个函数 count 给定一个 int 将产生一个 int 列表 [n, n-1, ..., 1]
哈斯克尔代码:
到目前为止我所拥有的:
我收到以下错误:
不知道如何解决这个问题,因为我对 SML 不是很精通。
f# - F# 中带有 Seq.unfold 的 Seq.cache
我正在尝试缓存无限序列的三角形数字的结果。
但是,当我尝试缓存时,它似乎并没有像我预期的那样工作
这打印
我缓存不正确吗?打印的第二个序列不应该是第一个序列的延续吗?我不太确定如何进步。
java - 展开循环三遍
我得到了这个 Java 函数,我必须编写一段代码,该代码通过展开循环三次而得到。这是什么意思?
tensorflow - 如何检查/查看任何 Keras(Dense、Conv1D、LSTM)层的内部操作和计算?
我对 Keras 层的架构有疑问。关于展开层的架构。例如,我想看看 Keras 中用于 Dense 层的主要方程,n. 神经元的数量、激活函数和偏差是相互关联的。这对于 Dense 层的逻辑低估似乎非常简单。但是,例如,找出相应层内的 tfa.ESN 层乘法对我很有帮助。
谢谢大家,J
swift - 定义通用展开器函数
使用此定义,我收到以下错误:
有没有办法解决这个问题并定义这个功能?
python - 我在哪里可以找到关于 PyTorch 的 Tensor.unfold() 用于获取图像补丁的直观解释?
最近我遇到了一些代码,它从形状为 N x B x H x W 的 RGB 图像(或它们的集合)中提取(滑动窗口样式)许多方形补丁。他们这样做如下:
通过阅读文档,我了解到该方法“从维度中的自张量unfold()
返回所有大小的切片”,但是尽我所能,我只是无法很好地理解为什么堆叠两个调用会产生方形补丁。我知道当你在张量上使用一次时会发生什么。我不明白当你在两个不同的维度上连续调用它两次时会发生什么。size
dim
.unfold()
unfold()
我已经多次看到这种方法被使用过,但总是没有很好地解释它为什么起作用(1、2),这让我发疯了。为什么空间维度H
和W
置换为暗淡 1 和 2,而通道暗淡设置为 3?为什么在昏暗 1 上以相同的方式展开,然后在昏暗 2 上会产生正方形patch_width
的patch_width
补丁?
任何见解都将不胜感激,即使它只是我错过的文章的链接。我已经在谷歌上搜索了一个多小时,但收效甚微。谢谢!
[1] PyTorch 论坛帖子
highcharts - Highcharts 折叠/展开瀑布
我使用 Highcharts 瀑布(以及用于多种测量的堆叠瀑布),它非常强大。我想通过动态折叠/展开获得更好的渲染。在以下示例中:https ://jsfiddle.net/vegaelce/4x1ndpjr/ 我将默认隐藏所有 california/colorado/dc 列(只有小计和总计列可见),当鼠标悬停在小计/总计列上时,专用的 california显示 /colorado/dc 列。
我想我可以使用
但是如何隐藏不是 isIntermediateSum 的列并仅显示与 isIntermediateSum overed 相关的列?
谢谢