小编pet*_*eld的帖子

BatchNorm动量约定PyTorch

batchnorm势头约定(默认值= 0.1),正确的,因为在其他的库,例如Tensorflow这似乎通常是在默认情况下为0.9或0.99?或许我们只是使用不同的约定?

python neural-network deep-learning pytorch batch-normalization

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

ViewChild 与输入/输出 - Angular 最佳实践

在我看来,在几乎所有我们指定组件@Inputs/@Output的情况下,我们也可以不使用任何@Inputs/ @Outputs 而是@ViewChild直接访问组件属性。例如,考虑寻呼机的这两个可能的 API:

选项 1:将当前页面和总页面公开为@Inputs,@Output为下一页/上一页请求制作事件发射器(s)。

<pager 
    [currentPage]="..." 
    [totalPages]="..." 
    (requestsNextPage$)="..." 
    (requestsPreviousPage$)="..."
></pager>
Run Code Online (Sandbox Code Playgroud)

选项 2:为当前页面和总页面创建简单的属性,为下一页/上一页请求制作可观察对象/主题并通过@ViewChild.

<pager></pager>

@ViewChild(PagerComponent)
pager: PagerComponent

pager.currentPage = ...
pager.totalPages = ...

pager.requestsNextPage$.subscribe(...)
pager.requestsPreviousPage$.subscribe(...)
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果在大多数情况下这两种选择都同样可行,那么首选/最佳实践是什么,为什么?

angular

5
推荐指数
1
解决办法
3814
查看次数

Julia v0.6构造函数和'new'关键字

我对Julia中的参数化复合类型(结构)感到困惑.我正在使用v0.6.我想知道是否有人可以向我解释这两段代码之间的区别?第一个似乎工作,但第二个给出错误(ERROR: LoadError: syntax: too few type parameters specified in "new{...}").我特别困惑了:

  • 例如Point{G}(x,y) where {G<:Integer} = new(55,y),第一个Point定义中的内容是什么.它似乎不是一种方法?见println(methods(Point))几行之后.它是'构造函数'吗?如果是这样,那么构造函数和方法之间的区别是什么?
  • 关键字new真的有用吗?
  • 为什么第二块代码无效?

`

workspace()
println("\nSTART")

struct Point{T<:Real}
    x::T
    y::T
    # These are not 'methods' - see below. What are they!?
    Point{G}(x,y) where {G<:Integer} = new(55,y)
    Point{H}(x,y) where {H<:AbstractFloat} = new(x, 11)
end
println(methods(Point)) # Interesting!!!

# Are these methods? Are they 'constructors'?
Point(x::T, y::T) where {T<:Integer} = Point{T}(x,y)
Point(x::T, y::T) where {T<:AbstractFloat} = Point{T}(x,y)
println(methods(Point))

p = …
Run Code Online (Sandbox Code Playgroud)

types julia

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

Nestjs MongoDb Schema/Interface 信息复制

我一直在遵循将MongoDb 与 Nestjs 结合使用的说明。我已经开始工作了,但是在我看来,存在相当不必要的信息重复(不是 DRY)。具体来说,我们似乎需要制作 Db 模式以及与该模式匹配的接口。在我自己的代码中,这看起来像这样:

import { Document, Schema } from 'mongoose';

export interface IBlogPost extends Document {
  subject: string;
  body: string;
  authorId: string;
}

export const BlogPostSchema = new Schema({
  subject: String,
  body: String,
  authorId: String,
});
Run Code Online (Sandbox Code Playgroud)

如果您需要更多上下文,我的其余代码在此 repo中。官方示例代码在这里

我做错了什么还是真的需要这样做?

javascript mongoose mongodb node.js nestjs

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

rxjs 错误处理 &gt; 在 catchError 源上停止发射

我对 rxjscatchError运算符有点困惑。这是一个使用 Angular 的简单示例:

(现场演示在这里

import { Component } from '@angular/core';
import { of, timer } from 'rxjs'
import { tap, catchError } from 'rxjs/operators'

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
})
export class AppComponent {
  constructor() {
    const source$ =  timer(1000, 1000).pipe(tap(n => {
      if (n === 3) {
        throw new Error('n === 3')
      }
    }))

    this.value$ = source$.pipe(catchError(err => {
      return of(42)
    }))
  }

  value$
}

Run Code Online (Sandbox Code Playgroud)
{{ value$ | async }}
Run Code Online (Sandbox Code Playgroud)

source$异步管道订阅的observable 发出 0,1,2 …

error-handling reactive-programming rxjs angular

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

GitHub Octokit/rest.js 用于单页应用程序的 OAuth

我在 Angular 单页应用程序 (SPA) 中使用 GitHub API 客户端“ octokit/rest.js ”。鉴于它通常更安全,并且我对我的 GitHub 帐户使用 2 因素身份验证(仅密码是不够的),我想利用 OAuth 工作流程。我一直按照此处的说明获取访问令牌,然后使用它来构建 octokit 客户端:

login(token: string) {
  this.client = new Octokit({
    auth: `token ${token}`
  });
}
Run Code Online (Sandbox Code Playgroud)

为了获取令牌,我必须制作一个简单的后端,其目的只是获取令牌并将其传递给前端,因为我还没有弄清楚如何从 SPA 中安全地执行此操作(它需要一个 client_secret,我无法在前端保持安全?)。它似乎有效,但我仍然有一些重要的问题:

  • 这安全吗?或者访问令牌应该只保留在服务器端?
  • 是否有更好的方法仅从前端处理 octokit/GitHub API 身份验证?

javascript oauth github single-page-application octokit

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