我想创建一个Matplotlib散点图,其中一个图例显示每个类的颜色.例如,我有一个x和y值列表,以及一个classes值列表.在每个元素x,y并classes列出了对应于一个情节点.我希望每个类都有自己的颜色,我已编码,但后来我希望类在图例中显示.我将哪些参数传递给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) 假设我有一个名为Foo的包.如果我在包含的CMakeLists.txt文件上运行CMake find_package(Foo),那么我可以打印出变量的值,例如${Foo_LIBRARIES}和${Foo_INCLUDES}.
是否有一种简单的方法来显示这些变量而无需在CMakeLists.txt文件上运行CMake,而无需手动检查config.cmake文件?
我正在使用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......中的路径完全不同,它们是否相同?
我正在尝试编译一些演示代码(特别是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.
为什么我的代码似乎没有正确调试?
我刚安装了MongoDB 2.6,并尝试按照http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/上的说明在Windows 8上将其作为Windows服务运行.
这是我在C盘中的目录结构:
MongoDB (MongoDB安装)
binProject
DBLogmongo.confmongod.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.conf和mongod.cfg... 之间的区别
谢谢!
变量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是否有内置功能可以为我高效执行此操作?
我的代码:
#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) 我试图在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现在被识别.
我试图理解受限制的Boltzmann机器(RBM)和前馈神经网络(NN)之间的区别.我知道RBM是一种生成模型,其中的想法是重建输入,而NN是一种判别模型,其中的想法是预测标签.但是我不清楚的是,为什么你不能只使用NN作为生成模型?特别是,我正在考虑深层次的信念网络和多层感知器.
假设我对NN的输入是一组称为x的音符,而我的NN输出是一组节点y.在判别模型中,我在训练期间的损失将是y与我想要x产生的y的值之间的差异(例如,类标签的地面真实概率).但是,如果我只是使输出具有与输入相同的节点数,然后将损失设置为x和y之间的差异呢?通过这种方式,网络将学习重建输入,就像在RBM中一样.
因此,考虑到NN(或多层感知器)可用于以这种方式训练生成模型,为什么要使用RBM(或深层置信网络)呢?或者在这种情况下,它们会完全相同吗?
在PyCharm中,我可以通过在左侧菜单中右键单击它来重构项目.但是,这不会更改PyCharm窗口顶部蓝色栏中的名称,它还会显示计算机上的项目路径.为什么不?