小编wl2*_*776的帖子

如何使用CMake生成器表达式$ <TARGET_FILE:tgt>?

我无法理解我做错了什么.我总是得到字符串"$<TARGET_FILE:tgt1>"而不是库的路径.

我创建了虚拟项目.

这是我的根CMakeLists.txt

cmake_minimum_required (VERSION 3.0) # also tried 2.8 with the same result
set(PROJECT_NAME CMP0026)

add_subdirectory(src)

set(TGT_PATH $<TARGET_FILE:tgt1>)
message(STATUS "${TGT_PATH}")
Run Code Online (Sandbox Code Playgroud)

这是我的src/CMakeLists.txt

add_library(tgt1 a.c)
Run Code Online (Sandbox Code Playgroud)

文件a.c已创建且为空

我尝试了以下生成器:Visual Studio 2013 Win64,Ninja和MingW Makefile.我已经使用Android工具链进行了最后两次,从这里下载

我希望最后一个message(STATUS命令可以打印到库的完整路径.但是,所有变体都会打印字符串$<TARGET_FILE:tgt1>.

cmake

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

pandas.DataFrame中列的反转累积和

我有一个pandas DataFrame,其布尔列按另一列排序,需要计算布尔列的反向累积和,即从当前行到底部的真值.

In [13]: df = pd.DataFrame({'A': [True] * 3 + [False] * 5, 'B': np.random.rand(8) })

In [15]: df = df.sort_values('B')

In [16]: df
Out[16]:
       A         B
6  False  0.037710
2   True  0.315414
4  False  0.332480
7  False  0.445505
3  False  0.580156
1   True  0.741551
5  False  0.796944
0   True  0.817563
Run Code Online (Sandbox Code Playgroud)

我需要的东西会给我一个带有值的新列

3
3
2
2
2
2
1
1
Run Code Online (Sandbox Code Playgroud)

也就是说,对于每一行,它应包含此行和下面行的True值.

我尝试了各种方法,.iloc[::-1]但结果不是所希望的.

想想,我错过了一件明显的事情.我昨天才开始使用熊猫.

python reverse dataframe pandas

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

Eigen中的交叉积矩阵

Hat运算符的 Eigen中是否有现成的函数或方法?这是运算符,返回一个矩阵,模拟与该向量的叉积.我知道,它可以很容易编写,但我想避免它:

Eigen::Vector3d t = // some vector ;
Eigen::Matrix3d t_hat;
t_hat << 0, -t(2), t(1),
    t(2), 0, -t(0),
    -t(1), t(0), 0;
Run Code Online (Sandbox Code Playgroud)

c++ cross-product eigen

13
推荐指数
1
解决办法
8708
查看次数

什么是Keras的"细胞类"?

或者,更具体:ConvLSTM2D和之间的区别是ConvLSTM2DCell什么?

SimpleRNNSimpleRNNCell之间有什么区别?

GRU和GRUCell的问题相同

Keras手册在这里不是很冗长.

我可以从RTFS(阅读那些优秀的资源)看到这些类是不同基类的后代.名称以结尾的那些Cell是子类Layer.

在我的任务中,我需要对视频序列进行分类.也就是说,我的分类器输入是一系列视频帧,输出是单个标签(单热编码矢量).

我应该用什么课?

lstm keras recurrent-neural-network

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

穷人的Gitlab CE和Jenkins整合

更新 此脚本现已过时,因为Jenkins中的Gitlab插件现在可以将构建状态报告给Jenkins.

我正在尝试集成Gitlab CE 8.4和Jenkins.我已经读过Jenkins CI集成在Gitlab EE中可用,但目前它不是一个选项.

我已经设置了Jenkins gitlab插件和Web钩子,并推送到我的repo触发器构建的Jenkins作业.但是,这些构建不会显示在相应Gitlab页面的"构建"选项卡中.如果我将.gitlab-ci.yml文件提交到存储库,Web挂钩仍然有效,Jenkins作业会运行,但是"Builds"页面显示构建被卡住,因为没有定义任何跑步者.

实际上,据我所知,我没有设置任何Gitlab CI跑者,因为他们与Jenkins无关.

我想保留Jenkins的工作,因为那里发布了一些有用的信息,我也希望在Gitlab页面上有自己的状态.我正在考虑这个关于Gitlab CI runner的简单脚本,它将从Jenkins作业中捕获控制台输出并将其转换为Gitlab.像运行wget或curl之类的东西,因为Jenkins提供API来查看作业的输出.

但是,有关Gitlab CI和.gitlab-ci.yml的文档以及示例都是有限的.

我怎么能写那份工作档案?我是否正确地认为Gitlab会收到职业的标准?

jenkins gitlab

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

并行将MongoDB中的数据加载到python中

MongoDB中我的集合中的所有文档都具有相同的字段.我的目标是将它们加载到Python中pandas.DataFramedask.DataFrame.

我想通过并行化来加速加载过程.我的计划是生成几个进程或线程.每个进程都会加载一个集合的块,然后这些块将合并在一起.

如何使用MongoDB正确完成?

我尝试过类似PostgreSQL的方法.我最初的想法是在SQL查询中使用SKIPLIMIT.它失败了,因为为每个特定查询打开的每个游标都从头开始读取数据表,只是跳过了指定的行数.所以我必须创建包含记录号的附加列,并在查询中指定这些数字的范围.

相反,MongoDB为每个文档分配唯一的ObjectID.但是,我发现不可能从另一个ObjectID中减去一个ObjectID,它们只能与排序操作进行比较:less,greater和equal.

另外,pymongo返回支持索引操作的游标对象,并且有一些看似对我的任务有用的方法,比如count,limit.

用于Spark的MongoDB连接器以某种方式完成此任务.不幸的是,我对Scala并不熟悉,因此,我很难找到他们是如何做到的.

那么,从Mongo并行加载数据到python的正确方法是什么?

到目前为止,我已经达到了以下解决方案:

import pandas as pd
import dask.dataframe as dd
from dask.delayed import delayed

# import other modules.

collection = get_mongo_collection()
cursor = collection.find({ })

def process_document(in_doc):
    out_doc = # process doc keys and values
    return pd.DataFrame(out_doc)

df = dd.from_delayed( (delayed(process_document)(d) for d in cursor) )
Run Code Online (Sandbox Code Playgroud)

但是,它看起来像是dask.dataframe.from_delayed从传递的生成器内部创建一个列表,有效地在一个线程中加载所有集合.

更新.我在docs中发现,这种skip方法pymongo.Cursor从集合的开头也开始,就像PostgreSQL一样.同一页面建议在应用程序中使用分页逻辑.到目前为止,我发现的解决方案使用_id了这个分类.但是,它们也存储在最后一次看到 …

python parallel-processing mongodb pandas dask

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

CMake政策的范围是什么?

我有一个带有多个子目录的CMake项目,如下所示:

dir1
    subdir11
    subdir12
dir2
    subdir21
    subdir22
Run Code Online (Sandbox Code Playgroud)

根CMakeLists.txt:

add_subdirectory(dir1)
add_subdirectory(dir2)
Run Code Online (Sandbox Code Playgroud)

dir1和dir2中的CMakeList相似:

add_subdirectory(subdir11)
add_subdirectory(subdir12)
Run Code Online (Sandbox Code Playgroud)

add_subdirectory(subdir21)
add_subdirectory(subdir22)
Run Code Online (Sandbox Code Playgroud)

子目录中的CMakeLists可以实际工作。

该文件dir1/subdir12/CMakeLists.txtCMP0046策略设置为OLD

cmake_policy(SET CMP0046 OLD) #silently ignore missing dependencies
Run Code Online (Sandbox Code Playgroud)

我的问题是-CMP0046的此设置是否会传播到subdir21subdir22

cmake

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

在C++中查找和存储超像素邻域的算法和数据结构

我有一个图像,保存分割结果,就像这个.在此输入图像描述

我需要建立一个贴片附近的图表,用不同的颜色着色.因此,我想要一个结构,代表以下内容 在此输入图像描述

这里的数字表示单独的补丁,而线条表示补丁的邻域.目前我无法弄清楚从哪里开始,谷歌的关键词.

有人可以提出任何有用的建

图像存储在OpenCV的cv :: Mat类中,对于图形,我打算使用Boost.Graph库.

所以,请给我一些代码示例和算法或关键字的链接.

谢谢.

更新.在喝咖啡休息和一些讨论后,我想到了以下几点.

  1. 构建一个大的点阵图,其中每个节点对应于每个图像像素,链接连接8或4个邻居.
  2. 使用相应的像素值标记每个图形节点.
  3. 尝试以某种方式合并具有相同标签的节点.

我的另一个问题是我不熟悉BGL(但这本书已经开始了:)).

那么,您对此解决方案有何看法?

Update2 可能这个链接可以提供帮助.

但是,仍然没有找到解决方案.

c++ boost-graph data-structures

6
推荐指数
1
解决办法
1248
查看次数

YV12 和 NV12 的 ImageWatch 中正确的像素格式是什么?

有一个不错的 Visual Studio 扩展Image Watch

它可以获取 RAM 中的任意地址,并通过@mem操作符将其内容显示为图像。

@mem(address, type, channels, width, height, stride):将原始内存解释为像素,从address( UINT64)开始,带有通道type(请参阅像素格式)、channels( UINT32)、width( UINT32)、height( UINT32) 和stride( UINT32) 的数量。例子:@mem(myimg.data, UINT8, 1, 320, 240, 320)

根据帮助页面,它可以显示几种复杂的像素格式,其中包括BGR、NV12和YV12。

可选地,格式字符串可以与像素格式相关联。它指定了用于渲染的每个通道的语义:

  • RG、紫外线

  • RGB、BGR、YUV

  • RGBA, BGRA

...

还支持许多特殊的 YUV 格式。在这种情况下,格式字符串还定义了数据布局。

  • NV12(两个平面:一个Y平面,一个压缩UV平面,在两个维度上都进行了2次子采样)

  • YV12(三个平面:一个 Y 平面,每个压缩的 U 和 V 平面,在两个维度上都进行了 2 次采样)

但是,我不清楚如何使 Image Watch 以操作符显示图像NV12YV12 …

c++ image-processing debuggervisualizer visual-studio bgr

5
推荐指数
0
解决办法
743
查看次数

git rebase停止在git for Windows中工作

我在git rebase中观察到非常奇怪的崩溃。我正在执行的操作没有改变,但是它们的结果自前一段时间以来已经改变。

我从git rebase那里获得帮助消息,而不是重新设置分支,描述了命令行选项以及bash.exe.stackdump带有一些十六进制数字的文件。

执行期间观察到相同的行为git pull --rebase。取消拉取的提交是我的默认设置,因此这种不当行为非常令人讨厌。

例:

$ git rebase master feature/tune-logging
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] [<upstream>] [<branch>]
   or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
   or: git rebase --continue | --abort | --skip | --edit-todo

Available options are
    -v, --verbose         display a diffstat of what changed upstream
    -q, --quiet           be quiet. implies --no-stat
    --autostash           automatically stash/stash pop before and after
    --fork-point          ....

    [ skip ... ] …
Run Code Online (Sandbox Code Playgroud)

git crash rebase

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