首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >球拍结构错误:给定值实例化同名的不同结构类型。

球拍结构错误:给定值实例化同名的不同结构类型。
EN

Stack Overflow用户
提问于 2015-09-25 21:47:20
回答 1查看 206关注 0票数 1

我对Racket相当熟悉,很多人都是Scheme和Lisp家族的成员,但我不知道这个错误是怎么回事,也不知道是什么原因造成的:

代码语言:javascript
复制
network-biases: contract violation;
 given value instantiates a different structure type with the same name
  expected: network?
  given: (network ...) <-- I omitted this because its useless.

下面是错误所在的函数(我有一个其余的要旨 ):

代码语言:javascript
复制
(define (update-mini-batch net mini-batch eta)
  (define nabla-b (map (lambda (b)
             (apply grid (shape b))) (network-biases net)))
  (define nabla-w (map (lambda (w)
             (apply grid (shape w))) (network-weights net)))

  (define-values (nabla-b-new nabla-w-new)
    (foldl (lambda (lst bw)
       (define x (first lst))
       (define y (second lst))
       (define-values (nabla-b nabla-w) bw)
       (define-values (delta-nabla-b delta-nabla-w) (backprop net x y))

       (define nabla-b-new (+/ nabla-b delta-nabla-b))
       (define nabla-w-new (+/ nabla-w delta-nabla-w))
       (values nabla-b-new nabla-w-new)) (values nabla-b nabla-w) mini-batch))

  (struct-copy network net
           [biases (map (lambda (b nb)
                  (- b (* nb (/ eta (length mini-batch)))))
                (network-biases net) nabla-b-new)]
           [weights (map (lambda (w nw)
                   (- w (* nw (/ eta (length mini-batch)))))
                 (network-weights net) nabla-w-new)]))

我无法得到一个MCVE实际上抛出了一个错误,所以我没有一个可以给予。

在上面的函数中,我试图做的基本工作是:

  • 计算结构属性的新值,并使用这些新属性创建新结构。
  • 谢谢!!
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-25 22:21:02

球拍中的结构是生成性的。这意味着每次

代码语言:javascript
复制
(struct network (num-layers sizes biases weights) #:transparent)

运行时,将创建一个新的结构类型。这些都被命名为网络。

您所看到的错误消息通常是由于对结构定义进行了两次计算(而且由于这两种类型的名称相同,所以有点混乱)。

在您的代码中,我看不到任何可能导致(struct network ...)两次运行的地方。您是在使用DrRacket还是不重置命名空间的替代环境?

如果我打开"nn.rkt“并运行它,我会看到错误吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32791108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档