小编Hao*_*Tan的帖子

Python:如何在列表推导中设置局部变量?

我有一个方法,可以获取一个列表并返回一个对象

# input a list, returns an object
def map_to_obj(lst):
    a_list = f(lst)
    return a_list[0] if a_list else None
Run Code Online (Sandbox Code Playgroud)

我想获得一个包含所有未映射的元素的列表None.

像这样:

v_list = [v1, v2, v3, v4]

[map_to_obj(v) for v in v_list if map_to_obj(v)]
Run Code Online (Sandbox Code Playgroud)

但是map_to_obj在列表推导中调用该方法两次似乎并不好.

有没有办法在列表推导中使用局部变量,以便它可以有更好的性能?

或者编译器是否自动优化它?

这就是我想要的:

(sml like)
[let mapped = map_to_obj(v) in for v in v_list if mapped end] 
Run Code Online (Sandbox Code Playgroud)

python list-comprehension

26
推荐指数
5
解决办法
2万
查看次数

Rails:渲染不起作用,仍然得到`模板丢失'

我目前正在学习Rails指南.我经历了这些步骤,但仍然遇到了一个错误.

我的Ruby版本是ruby 2.1.1p76和Rails版本4.0.4.

作为指导,我创建了一个Article Controller.

class ArticlesController < ApplicationController
  def new
  end

  def create
    render plain: params[:article].inspect
  end

end
Run Code Online (Sandbox Code Playgroud)

我应该得到{"title"=>"First article!", "text"=>"This is my first article."}但输出结果是

Template is missing
Missing template articles/create, application/create with {:locale=>[:en], :formats=>[:html],    :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}.`
Run Code Online (Sandbox Code Playgroud)

这是我的相关路线:

articles GET    /articles(.:format)          articles#index
         POST   /articles(.:format)          articles#create
Run Code Online (Sandbox Code Playgroud)

更新:引用此问题时render plain:引入的新方法.Rails 4.1.0

ruby ruby-on-rails ruby-on-rails-4

25
推荐指数
1
解决办法
1万
查看次数

计算SVM损失函数的梯度

我正在尝试实现SVM损失函数及其渐变.我找到了一些实现这两个的示例项目,但是在计算渐变时我无法弄清楚它们如何使用loss函数.

这是损失函数的公式: 在此输入图像描述

我无法理解的是,在计算渐变时如何使用损失函数的结果?

示例项目按如下方式计算渐变:

for i in xrange(num_train):
    scores = X[i].dot(W)
    correct_class_score = scores[y[i]]
    for j in xrange(num_classes):
      if j == y[i]:
        continue
      margin = scores[j] - correct_class_score + 1 # note delta = 1
      if margin > 0:
        loss += margin
        dW[:,j] += X[i]
        dW[:,y[i]] -= X[i] 
Run Code Online (Sandbox Code Playgroud)

dW用于梯度结果.X是训练数据的数组.但是我不明白损失函数的导数是如何产生这个代码的.

python gradient machine-learning svm

15
推荐指数
1
解决办法
7810
查看次数

如何在嵌套文件夹结构中使“ git not ignore”某些文件扩展名?

说我有一个像这样的文件夹结构:

??? a
?   ??? b
?   ?   ??? c.xml
?   ?   ??? d.c
?   ??? v
?       ??? e.class
?       ??? g.c
|
??? m
?   ??? p
?   ?   ??? w.out
?   ?   ??? x.c
?   ??? q
?   ?   ??? y.mp3
?   ?   ??? z.c
Run Code Online (Sandbox Code Playgroud)

而且我只想不忽略*.c

我试过了

*                                                                         
!*.c 
Run Code Online (Sandbox Code Playgroud)

在中.gitignore,但这似乎仅适用于当前级别。

我想要的是设置类似的东西!*/*/*.c,因为稍后可能还会有其他目录添加到git repo中,所以我无法对.gitignore文件进行硬编码。

git

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

如何使用CNN训练不同大小的输入数据?

CNN 似乎主要用于固定大小的输入。现在想用CNN来训练一些不同大小的句子,有哪些常用的方法?

nlp machine-learning deep-learning

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

比较Seq和Array的不同行为

Scala似乎将Seqs与单个对象具有相同的值,但与Arrays 并不相同。

Seq行为一样ListSet

scala> Array(1) == Array(1)
res2: Boolean = false

scala> Seq(1) == Seq(1)
res3: Boolean = true
Run Code Online (Sandbox Code Playgroud)

为什么会发生?背后的原因是什么?

scala equality scala-collections

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