小编Tar*_*ula的帖子

C++ 11 rvalues和移动语义混淆(return语句)

我试图理解rvalue引用并移动C++ 11的语义.

这些示例之间有什么区别,哪些不会执行矢量复制?

第一个例子

std::vector<int> return_vector(void)
{
    std::vector<int> tmp {1,2,3,4,5};
    return tmp;
}

std::vector<int> &&rval_ref = return_vector();
Run Code Online (Sandbox Code Playgroud)

第二个例子

std::vector<int>&& return_vector(void)
{
    std::vector<int> tmp {1,2,3,4,5};
    return std::move(tmp);
}

std::vector<int> &&rval_ref = return_vector();
Run Code Online (Sandbox Code Playgroud)

第三个例子

std::vector<int> return_vector(void)
{
    std::vector<int> tmp {1,2,3,4,5};
    return std::move(tmp);
}

std::vector<int> &&rval_ref = return_vector();
Run Code Online (Sandbox Code Playgroud)

c++ c++-faq rvalue-reference move-semantics c++11

415
推荐指数
3
解决办法
10万
查看次数

如何从ffmpeg输出中提取持续时间?

要获得有关媒体文件的大量信息,可以执行此操作

ffmpeg -i <filename>
Run Code Online (Sandbox Code Playgroud)

它会输出很多行,特别是一行

Duration: 00:08:07.98, start: 0.000000, bitrate: 2080 kb/s
Run Code Online (Sandbox Code Playgroud)

我想只输出00:08:07.98,所以我试试

ffmpeg -i file.mp4 | grep Duration| sed 's/Duration: \(.*\), start/\1/g'
Run Code Online (Sandbox Code Playgroud)

但它会打印所有内容,而不仅仅是长度.

甚至ffmpeg -i file.mp4 | grep Duration输出一切.

我如何获得持续时间长度?

linux bash ffmpeg

65
推荐指数
5
解决办法
8万
查看次数

关于索引重复输入的Pandas转向警告

关于Pandas pivot方法的文档,我们有:

Examples
--------
>>> df
    foo   bar  baz
0   one   A    1.
1   one   B    2.
2   one   C    3.
3   two   A    4.
4   two   B    5.
5   two   C    6.

>>> df.pivot('foo', 'bar', 'baz')
     A   B   C
one  1   2   3
two  4   5   6
Run Code Online (Sandbox Code Playgroud)

DataFrame的结构如下:

   name   id     x
----------------------
0  john   1      0
1  john   2      0
2  mike   1      1
3  mike   2      0
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

      1    2   # (this is the id …
Run Code Online (Sandbox Code Playgroud)

python pandas

43
推荐指数
4
解决办法
3万
查看次数

Spark MLlib - trainImplicit warning

我在使用时会看到这些警告trainImplicit:

WARN TaskSetManager: Stage 246 contains a task of very large size (208 KB).
The maximum recommended task size is 100 KB.
Run Code Online (Sandbox Code Playgroud)

然后任务规模开始增加.我试图调用repartition输入RDD,但警告是相同的.

所有这些警告都来自ALS迭代,来自flatMap以及聚合,例如flatMap显示这些警告的阶段的起源(w/Spark 1.3.0,但它们也显示在Spark 1.3.1中):

org.apache.spark.rdd.RDD.flatMap(RDD.scala:296)
org.apache.spark.ml.recommendation.ALS$.org$apache$spark$ml$recommendation$ALS$$computeFactors(ALS.scala:1065)
org.apache.spark.ml.recommendation.ALS$$anonfun$train$3.apply(ALS.scala:530)
org.apache.spark.ml.recommendation.ALS$$anonfun$train$3.apply(ALS.scala:527)
scala.collection.immutable.Range.foreach(Range.scala:141)
org.apache.spark.ml.recommendation.ALS$.train(ALS.scala:527)
org.apache.spark.mllib.recommendation.ALS.run(ALS.scala:203)
Run Code Online (Sandbox Code Playgroud)

从汇总:

org.apache.spark.rdd.RDD.aggregate(RDD.scala:968)
org.apache.spark.ml.recommendation.ALS$.computeYtY(ALS.scala:1112)
org.apache.spark.ml.recommendation.ALS$.org$apache$spark$ml$recommendation$ALS$$computeFactors(ALS.scala:1064)
org.apache.spark.ml.recommendation.ALS$$anonfun$train$3.apply(ALS.scala:538)
org.apache.spark.ml.recommendation.ALS$$anonfun$train$3.apply(ALS.scala:527)
scala.collection.immutable.Range.foreach(Range.scala:141)
org.apache.spark.ml.recommendation.ALS$.train(ALS.scala:527)
org.apache.spark.mllib.recommendation.ALS.run(ALS.scala:203)
Run Code Online (Sandbox Code Playgroud)

python apache-spark pyspark apache-spark-mllib

14
推荐指数
1
解决办法
1838
查看次数

最常用的Python模块用于视频处理?

我需要:

  1. 打开视频文件
  2. 迭代文件的帧作为图像
  3. 在视频的此图像框架中进行一些分析
  4. 画出这个视频图像
  5. 使用这些更改创建新视频

OpenCV不能用于我的网络摄像头,但python-gst正在工作.这可能使用python-gst吗?

谢谢!

python image-processing video-processing

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

在gensim中加载Word2Vec模型时出错

我正在AttributeError加载word2vec存储库中可用的gensim模型:

from gensim import models
w = models.Word2Vec()
w.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
print w["queen"]

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-8219e36ba1f6> in <module>()
----> 1 w["queen"]

C:\Anaconda64\lib\site-packages\gensim\models\word2vec.pyc in __getitem__(self, word)
    761 
    762         """
--> 763         return self.syn0[self.vocab[word].index]
    764 
    765 

AttributeError: 'Word2Vec' object has no attribute 'syn0'
Run Code Online (Sandbox Code Playgroud)

这是一个已知的问题 ?

python gensim word2vec

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

jinja2递归循环vs字典

我有以下字典:

{'a': {'b': {'c': {}}}}
Run Code Online (Sandbox Code Playgroud)

以下是Jinja2模板:

            {% for key in dictionary recursive %}

            <li>{{ key }}
            {% if dictionary[key] %}
                <ul>{{ loop(dictionary[key]) }}</ul>
            {% endif %}
            </li>

        {% endfor %}
Run Code Online (Sandbox Code Playgroud)

但Jinja2总是输出:

<ul>
    <li>a</li>
    <ul>
        <li>b</li>
    </ul>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的理解是使用递归,它也会向我显示"c"元素,但它只适用于2的深度.为什么dictionary不改变到dictionary[key]每个循环迭代?的dictionary始终是原来的dictionary.

python jinja2

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

C++ n-ary树库

什么是C++最完整的n-ary树实现?我需要一个简单的(不是提升BGL请求)实现在与LGPL兼容的项目中使用,所以Tree.hh不适合.

c++ tree

7
推荐指数
1
解决办法
2930
查看次数

使用Python获取FFProbe信息

我一直试图永远解决这个问题(我是编程的新手),我无法弄明白.

我正在尝试构建一个将测试文件的脚本,并为我提供输出,我可以从中获取"音频格式"等信息,然后我可以将其放入文件名中.但是,我甚至无法让脚本返回任何文件信息.插入输入文件时我碰到了墙...

所以在这一点上我只需要帮助让它根据我投入的argv吐出信息.希望我能够弄清楚如何从中解析音频信息.

我的尝试似乎很接近:

#!/usr/bin/python
import os, sys, subprocess, shlex, re
from subprocess import call
def probe_file(filename):
    p = subprocess.Popen(['/opt/local/bin/ffprobe', '-show_format', '-pretty', '-loglevel quiet', -i filename], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
    print filename
    print p.communicate()
[probe_file (f) for f in os.listdir('.') if not f.startswith('.')]
Run Code Online (Sandbox Code Playgroud)

python ffmpeg ffprobe

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

Python多处理队列put()行为

我正在使用多处理做一些非常简单的事情:

data = {'a': 1}
queue.put(data, True)
data.clear()
Run Code Online (Sandbox Code Playgroud)

当我在另一个进程(使用get()方法)上使用队列时,我得到一个空字典.如果我删除data.clear()我得到按预期的键.有没有办法等待put()完成序列化?

python queue multiprocessing python-multithreading python-multiprocessing

7
推荐指数
1
解决办法
4738
查看次数