小编kar*_*l71的帖子

向量push_back矢量

我正在用C++设计一个多级队列进程模拟器但是在尝试实现多个队列时遇到了问题(我的队列是向量).所以,"multilevel"是一个4元素数组(不是向量).在每个元素内部都有一个向量(类型为t_PCB).

vector<vector<t_PCB>> multilevel[4];
Run Code Online (Sandbox Code Playgroud)

我的问题是:如何在这4个t_PCB向量的末尾插入一个元素?先感谢您.

我已经尝试了下面的代码行,但它不起作用(错误:不匹配成员函数调用'push_back')

multilevel[0].push_back(p); //where "p" is a t_PCB object
Run Code Online (Sandbox Code Playgroud)

在讨论"multilevel"时,不能使用上面的行,因为这个数组只接受参数类型:vector <t_PCB>

所以,正如我在开头问的那样:如何在"multilevel"中推送对象类型"t_PCB"?

c++ vector process push-back multi-level

21
推荐指数
3
解决办法
8万
查看次数

来自学习变量的预期张量流模型大小

在为图像分类任务训练卷积神经网络时,我们通常希望我们的算法学习将给定图像转换为其正确标签的过滤器(和偏差)。我有几个模型,我试图在模型大小、操作次数、准确性等方面进行比较。 但是,从 tensorflow 输出的模型的大小,具体来说是存储所有值的model.ckpt.data文件图中的变量不是我所期望的。事实上,它似乎要大三倍。

为了直接解决这个问题,我将根据这个Jupyter notebook提出我的问题。以下是定义变量(权重和偏差)的部分:

# Store layers weight & bias
weights = {
# 5x5 conv, 1 input, 32 outputs
'wc1': tf.Variable(tf.random_normal([5, 5, 1, 32]),dtype=tf.float32),
# 5x5 conv, 32 inputs, 64 outputs
'wc2': tf.Variable(tf.random_normal([5, 5, 32, 64]),dtype=tf.float32),
# fully connected, 7*7*64 inputs, 1024 outputs
'wd1': tf.Variable(tf.random_normal([7*7*64, 1024]),dtype=tf.float32),
# 1024 inputs, 10 outputs (class prediction)
'out': tf.Variable(tf.random_normal([1024, num_classes]),dtype=tf.float32)
}

biases = {
'bc1': tf.Variable(tf.random_normal([32]),dtype=tf.float32),
'bc2': tf.Variable(tf.random_normal([64]),dtype=tf.float32),
'bd1': tf.Variable(tf.random_normal([1024]),dtype=tf.float32),
'out': tf.Variable(tf.random_normal([num_classes]),dtype=tf.float32)
}
Run Code Online (Sandbox Code Playgroud)

为了在训练过程结束时保存模型,我添加了几行:

# …
Run Code Online (Sandbox Code Playgroud)

python conv-neural-network tensorflow jupyter-notebook

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

获取白色像素的坐标(OpenCV)

在OpenCV(C++)中,我有一个黑白图像,其中一些形状显示为白色(255).知道这一点,我怎样才能获得这些对象所在的图像中的坐标点?我对获取所有白色像素坐标感兴趣.

有比这更清洁的方式吗?

std::vector<int> coordinates_white; // will temporaly store the coordinates where "white" is found 
for (int i = 0; i<img_size.height; i++) {
    for (int j = 0; j<img_size.width; j++) {
        if (img_tmp.at<int>(i,j)>250) {
            coordinates_white.push_back(i);
            coordinates_white.push_back(j);
        }
    }
}
// copy the coordinates into a matrix where each row represents a *(x,y)* pair
cv::Mat coordinates = cv::Mat(coordinates_white.size()/2,2,CV_32S,&coordinates_white.front());
Run Code Online (Sandbox Code Playgroud)

c++ opencv matrix threshold

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

快捷方式触发时的Lambda表达式(Qt)

在Qt中,我试图向GUI添加一些快捷方式。我可以这样简单地定义每个快捷方式,然后将它们喜欢成各自的功能:

QObject::connect(new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_B), this), SIGNAL(activated()), this, SLOT(myFunc()));
Run Code Online (Sandbox Code Playgroud)

上面的线按预期工作。但是,我想避免为每个快捷方式创建不同的功能。这就是为什么我想使用lambda表达式。我正在努力使以下代码起作用:

QShortcut *shortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_B), this);
QObject::connect(shortcut, SIGNAL(activated()), [=]() 
{
    myFunc();
});
Run Code Online (Sandbox Code Playgroud)

但是,connect不允许以上所述。我该如何解决?

c++ lambda qt signals-slots

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

将矢量重新排列成矩阵

在Matlab中我有以下向量:

a = [ 1 2 3 4 5 6 ];
Run Code Online (Sandbox Code Playgroud)

我想构建一个矩阵,每行快速生成1个元素.输出矩阵应如下所示:

A =

 1     2     3
 2     3     4
 3     4     5
 4     5     6 
Run Code Online (Sandbox Code Playgroud)

哪种方法最快?提前告诉你!

matlab vector

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

在Matlab中使用BLOCKPROC查找最大像素

Matlab中,我有一个3D矩阵(超过100帧512x512).我的目标是通过整个超矩阵找到一些代表点.为此,我实现了传统的(并不是非常有效的)方法:我将大矩阵细分为更小的子矩阵,然后我寻找具有最高值的像素.在这之后,我将子矩阵中该像素的相对坐标更改为参考大矩阵的全局坐标.

现在,我正在重新设计算法.我已经看到,为了逐块分析一个大矩阵(实际上我正在使用我的旧算法),BLOCKPROC函数非常有效.我已经阅读了文档,但我不知道应该如何实现"有趣"功能来提取每个块具有最高值的像素.先感谢您.

*我正在尝试获取参考全局矩阵的那些最大像素的坐标,我真的不关心它们的值.

algorithm matlab block image-processing

0
推荐指数
1
解决办法
1090
查看次数