小编Kar*_*rus的帖子

Matplotlib散点图与图例

我想创建一个Matplotlib散点图,其中一个图例显示每个类的颜色.例如,我有一个xy值列表,以及一个classes值列表.在每个元素x,yclasses列出了对应于一个情节点.我希望每个类都有自己的颜色,我已编码,但后来我希望类在图例中显示.我将哪些参数传递给legend()函数来实现这一目标?

到目前为止,这是我的代码:

x = [1, 3, 4, 6, 7, 9]
y = [0, 0, 5, 8, 8, 8]
classes = ['A', 'A', 'B', 'C', 'C', 'C']
colours = ['r', 'r', 'b', 'g', 'g', 'g']
plt.scatter(x, y, c=colours)
Run Code Online (Sandbox Code Playgroud)

python matplotlib legend

22
推荐指数
4
解决办法
5万
查看次数

显示CMake变量

假设我有一个名为Foo的包.如果我在包含的CMakeLists.txt文件上运行CMake find_package(Foo),那么我可以打印出变量的值,例如${Foo_LIBRARIES}${Foo_INCLUDES}.

是否有一种简单的方法来显示这些变量而无需在CMakeLists.txt文件上运行CMake,而无需手动检查config.cmake文件?

cmake

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

PyCharm找不到图书馆

我正在使用PyCharm 5在Ubuntu中运行Python 2.7(Anaconda)脚本.我的脚本导入了一个模块import tensorflow,但这会导致错误ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory.因此,libcudart.so.7.0该模块似乎需要该库,但无法找到它.

现在,我已经看到这个库在我的机器上了/usr/local/cuda-7.0/targets/x86_64-linux/lib.所以,在PyCharm,我去了Settings->Project Interpreters->Interpreter Paths.这有一个路径列表,例如/home/karnivaurus/Libraries/Anaconda/python2.7.然后我添加到此列表中,上面提到的包含所需库的路径.

但是,这并没有解决问题.我仍然收到一个错误,告诉我libcudart.so.7.0无法找到.如果我从shell运行我的脚本虽然(python myfile.py),它运行正常.

我如何告诉PyCharm在哪里可以找到这个库?


我注意到,如果我print sys.path在我的脚本中,它打印出来的路径与Settings->Project Interpreters->Interpreter Paths......中的路径完全不同,它们是否相同?

python ubuntu pycharm

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

在Qt Creator中运行调试模式

我正在尝试编译一些演示代码(特别是Point Cloud库附带的pcl_visualizer演示).通过单击带放大级别的绿色箭头运行调试时,我收到以下错误:

This does not seem to be a "Debug" build.
Setting breakpoints by file name and line number may fail.

Section .debug_info: Not found.
Section .debug_abbrev: Not found.
Section .debug_line: Not found.
Section .debug_str: Not found.
Section .debug_loc: Not found.
Section .debug_range: Not found.
Section .gdb_index: Not found.
Section .note.gnu.build-id: Found.
Section .gnu.hash: Found.
Section .gnu_debuglink: Not found.
Run Code Online (Sandbox Code Playgroud)

此外,我所插入的断点都没有破坏程序,而且它们都有很少的沙漏悬停在上面.

Projects,Debug选择模式Build Settings.

为什么我的代码似乎没有正确调试?

qt qt-creator

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

MongoDB:设置Windows服务

我刚安装了MongoDB 2.6,并尝试按照http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/上的说明在Windows 8上将其作为Windows服务运行.

这是我在C盘中的目录结构:

  • MongoDB (MongoDB安装)
    • bin
  • Project
    • DB
    • Log
    • mongo.conf
    • mongod.cfg

内容mongo.conf是:

storage:
   dbPath: "C:\Project\DB"
Run Code Online (Sandbox Code Playgroud)

而且内容mongod.cfg是:

logpath="C:\Project\Log\mongo.log" 
Run Code Online (Sandbox Code Playgroud)

按照教程中的指示,从命令行(在管理员模式下),然后键入:

"C:\MongoDB\bin\mongod.exe" --config "C:\Project\mongod.cfg" --install

但是,我收到一条错误消息:

SEVERE: Failed global initialization: FileNotOpen Failed to open ""C:\MongoDB\bin\Project\Log\mongo.log""

请问有人可以解释我做错了什么吗?我按照教程中的说明进行了操作(除了更改了一些目录名称).

我也很困惑mongo.confmongod.cfg... 之间的区别

谢谢!

mongodb

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

创建排序向量的索引向量

变量x是一个nint 的向量,我想按升序对向量进行排序.但是,由于这个问题范围之外的原因,我想要保持不变.因此,x我想创建另一个n索引向量,而不是实际排序内容,其中每个索引引用相应的值x,如果x已经排序的话.

例如:

std::vector<int> x = {15, 3, 0, 20};
std::vector<int> y;
// Put the sorted indices of x into the vector y
for (int i = 0; i < 4; i++)
{
    std::cout << y[i];
}
Run Code Online (Sandbox Code Playgroud)

应该给出输出:

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

对应于x中的值:

0
3
15
20
Run Code Online (Sandbox Code Playgroud)

我可以想到很多及时实现这一点的方法,但我想知道STL是否有内置功能可以为我高效执行此操作?

c++ stl

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

编译错误:'stoi'不是'std'的成员

我的代码:

#include <iostream>
#include <string>

int main()
{
    std::string test = "45";
    int myint = std::stoi(test);
    std::cout << myint << '\n';
}
Run Code Online (Sandbox Code Playgroud)

给我编译错误:

error: 'stoi' is not a member of 'std'
     int myint = std::stoi(test);
                 ^
Run Code Online (Sandbox Code Playgroud)

但是,根据这里,这段代码应该编译好.我set(CMAKE_CXX_FLAGS "-std=c++11 -O3")在我的CMakeLists.txt文件中使用该行.

为什么不编译?


更新:我正在使用gcc,并运行gcc --version打印输出:

gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010
Run Code Online (Sandbox Code Playgroud)

c++

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

在Windows中通过Anaconda安装NumPy

我试图在Windows的Python 2.7.8脚本中使用Numpy.所以,我下载并安装了最新版本的Anaconda(我也想在Anaconda中使用其他一些工具)到目录"C:/ Anaconda".默认情况下,我检查拳击问我是否要将二进制文件的路径添加到Windows PATH.

检查PATH后,它包含以下内容:"C:\ Anaconda; C:\ Anaconda\Scripts".

然后,在安装后我打开一个新的命令提示符,在Python环境中,我输入"import numpy",但这会给出错误:"ImportError:没有名为numpy的模块".

我在安装过程中错过了什么阶段?

*****编辑*****

我刚刚注意到"C:\ Anaconda"或"C:\ Anaconda\Scripts"中没有名为"numpy"的文件.但根据Anaconda网站(http://docs.continuum.io/anaconda/pkg-docs.html),安装应该是Numpy ......

*****编辑*****

似乎Windows从我安装的现有Python版本运行Python,这与NumPy无关.删除它,并从Anaconda安装运行Python后,NumPy现在被识别.

python numpy anaconda

14
推荐指数
3
解决办法
9万
查看次数

为什么使用受限制的Boltzmann机器而不是多层感知器?

我试图理解受限制的Boltzmann机器(RBM)和前馈神经网络(NN)之间的区别.我知道RBM是一种生成模型,其中的想法是重建输入,而NN是一种判别模型,其中的想法是预测标签.但是我不清楚的是,为什么你不能只使用NN作为生成模型?特别是,我正在考虑深层次的信念网络和多层感知器.

假设我对NN的输入是一组称为x的音符,而我的NN输出是一组节点y.在判别模型中,我在训练期间的损失将是y与我想要x产生的y的值之间的差异(例如,类标签的地面真实概率).但是,如果我只是使输出具有与输入相同的节点数,然后将损失设置为x和y之间的差异呢?通过这种方式,网络将学习重建输入,就像在RBM中一样.

因此,考虑到NN(或多层感知器)可用于以这种方式训练生成模型,为什么要使用RBM(或深层置信网络)呢?或者在这种情况下,它们会完全相同吗?

classification machine-learning neural-network

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

重命名PyCharm项目不会更改窗口顶部的名称

在PyCharm中,我可以通过在左侧菜单中右键单击它来重构项目.但是,这不会更改PyCharm窗口顶部蓝色栏中的名称,它还会显示计算机上的项目路径.为什么不?

python pycharm

11
推荐指数
2
解决办法
5614
查看次数