小编use*_*931的帖子

如何从C-File调用C++构造函数

我导入了这个程序,它解析了很多复杂的文本,用C语言编写.我自己的项目是用C++编写的.

我实际上打算,每当解析器算法找到其中一个键标签时,我的类中的一个(很多)构造函数应该被调用,这样我就可以在txt的末尾有一个很好的结构,如解析过程的结果.

这里的问题:我学会了OOP Java和开始C++这个项目,所以我需要一点点的帮助:我怎么能调用C++构造出我的基于C的解析器的文件?我已经检查了互联网,但要么这个问题太琐碎了,要么我的预期解决方案无效;)

谢谢你的任何建议.

c c++ oop import constructor

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

Opencv imshow()在更新时冻结

对于我的图像处理算法,我使用的是python/OpenCV.我的算法输出应该在同一个窗口一遍又一遍地更新.

然而,有时窗口冻结并且根本不更新,但算法仍在运行并且同时多次更新图片.在这台Ubuntu机器上,窗口变成深灰色.

以下是相关代码的摘录:

for i in range(0,1000):
    img = loadNextImg()
    procImg = processImg(img)
    cv2.imshow("The result", procImg)
    cv2.waitKey(1)
Run Code Online (Sandbox Code Playgroud)

注意:processImg()程序大约需要1-2秒.该行在cv2.imshow(procImg)第一个实例中创建窗口(即没有先前的调用)

python opencv image-processing freeze imshow

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

是否可以用现有图形中的常量替换占位符?

我有一个受过训练的模型的冻结图,它有一个tf.placeholder我总是提供相同的值.

我想知道是否有可能替换它tf.constant.如果它是某种方式 - 任何例子将不胜感激!

编辑:以下是代码的外观,以帮助可视化问题

我正在使用预先训练的(由其他人)模型进行推理.模型在本地存储为具有.pb扩展名的冻结图形文件.

代码如下所示:

# load graph
graph = load_graph('frozen.pb')
session = tf.Session(graph=graph)

# Get input and output tensors
images_placeholder = graph.get_tensor_by_name("input:0")
output = graph.get_tensor_by_name("output:0")
phase_train_placeholder = graph.get_tensor_by_name("phase_train:0")

feed_dict = {images_placeholder: images, phase_train_placeholder: False}

result = session.run(output, feed_dict=feed_dict)
Run Code Online (Sandbox Code Playgroud)

问题是我总是phase_train_placeholder: False以我的目的为食,所以我想知道是否有可能消除占位符并用类似的东西替换它tf.constant(False, dtype=bool, shape=[])

python tensorflow

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

'const'错误之前的预期主表达式

请帮忙。我遇到很多错误。

sub2.cpp:在函数'int main()'中:sub2.cpp:11:14:错误:从'const char *'到'char'的无效转换[-fpermissive] sub2.cpp:12:14:错误:无效从'const char *'到'char'的转换[-fpermissive] sub2.cpp:16:17:错误:'const'之前的预期主表达式sub2.cpp:16:36:错误:'const之前的预期的主表达式'sub2.cpp:11:6:警告:未使用的变量'外部'[-Wunused变量] sub2.cpp:12:6:警告:未使用的变量'内部'[-Wunused变量] make:* [sub2]错误1个

#include <iostream>
#include <string>
#include <cstring>

using namespace std;

char *Subtract(const char *outer, const char *inner);

int main()
{
    char outer = "Bookkepper";
char inner = "keep";

char *word = new char[50];

word = Subtract(const char &outer, const char &inner);

cout << word << endl;
return 0;
}


char *Subtract(const char *outer, const char *inner)
{
int olen = strlen(outer);
int first_occ_idx = -1;
for(int i=0; i …
Run Code Online (Sandbox Code Playgroud)

c++ expression compiler-errors

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

当设备设置为CPU时,为什么TensorFlow使用我的GPU

TensorFlow正在使用分配我的所有GPU内存并忽略我的命令来使用CPU,我该如何解决这个问题呢?

这是我的代码摘录 testprog

Session *session;
SessionOptions opts = SessionOptions();

//force to allocate 0 memory on gpu
opts.config.mutable_gpu_options()->set_per_process_gpu_memory_fraction(0);
opts.config.mutable_gpu_options()->set_allow_growth(false);

//create session with these settings
TF_CHECK_OK(NewSession(opts, &session));
TF_CHECK_OK(session->Create(graph_def));

//set device to cpu
graph::SetDefaultDevice("/cpu:0", &graph_def);

//run arbitrary model
Status status = session->Run(classifierInput, {output_layer},{},&outputs);

TF_CHECK_OK(session->Close());
Run Code Online (Sandbox Code Playgroud)

打电话nvidi-smi告诉我:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.66                 Driver Version: 375.66                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro P4000 …
Run Code Online (Sandbox Code Playgroud)

c++ cpu memory-management gpu tensorflow

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

如何使用 PyCUDA 处理 python 列表?

我想这对于专家来说是一个相当简单的问题,但我在网上找不到任何答案。给出一个简单的案例:

问题:

listToProcess = []
for i in range(0, 10):
    listToProcess.append(i)
Run Code Online (Sandbox Code Playgroud)

该列表应传输到 GPU,以进行进一步处理。然后我将继续使用常见的 cuda 程序进行内存复制:

import sys
import pycuda.autoinit
import pycuda.driver as cuda

listToProcess_gpu = cuda.mem_alloc(sys.getsizeof(listToProcess))
cuda.memcpy_htod(listToProcess_gpu, listToProcess)
Run Code Online (Sandbox Code Playgroud)

然后调用内核本身。然而列表没有缓冲区接口,因此会memcpy_htod()崩溃。我也尝试了不同的方法,但最终导致

问题

  • 如何将列表及其内容从 python 程序传输到 GPU 内核?
  • 如何为内核指定列表的数据类型(即浮点数、整数或...的列表)?

python cuda list memcpy pycuda

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

从std :: vector创建tensorflow :: tensor的最有效方法

所以我的问题是要知道是否有一种方法可以将值直接从vector(但我们也可以考虑array)传递给a tensorflow::tensor

我知道的唯一方法是一个一个地复制每个值。

示例(2D矢量)

tensorflow::Tensor input(tensorflow::DT_FLOAT, tensorflow::TensorShape({50, 20})); 
auto input_map = input.tensor<float, 2>();


for (int b = 0; b < 50; b++) {
  for (int c = 0; c < 20; c++) {
    input_map(b, c) = (vector_name)[b][c];
  }
}
Run Code Online (Sandbox Code Playgroud)

有更方便的方法吗?

例如arrayvector

int x[3] = {1, 2, 3};
std::vector<int> v(x, x + sizeof x / sizeof x[0]);
Run Code Online (Sandbox Code Playgroud)

c++ tensorflow

5
推荐指数
2
解决办法
5555
查看次数

如何在Tensorflow中显示隐藏层输出

比较模型与其存储的protobuf版本(通过此转换脚本)时,我在输出上存在差异。为了调试,我分别比较了这两层。对于测试序列中的权重和实际图层输出,我会收到相同的输出,因此我不确定如何访问隐藏图层。

这是我如何加载图层

    input  = graph.get_tensor_by_name("lstm_1_input_1:0")
    layer1 = graph.get_tensor_by_name("lstm_1_1/kernel:0")
    layer2 = graph.get_tensor_by_name("lstm_1_1/recurrent_kernel:0")
    layer3 = graph.get_tensor_by_name("time_distributed_1_1/kernel:0")
    output = graph.get_tensor_by_name("activation_1_1/div:0")
Run Code Online (Sandbox Code Playgroud)

这是我认为显示各个元素的方式。

显示重量

with tf.Session(graph=graph) as sess:
       print sess.run(layer1)
       print sess.run(layer2)
       print sess.run(layer3)
Run Code Online (Sandbox Code Playgroud)

显示输出

with tf.Session(graph=graph) as sess:
    y_out, l1_out, l2_out, l3_out = sess.run([output, layer1, layer2, layer3], feed_dict={input: X_test})
Run Code Online (Sandbox Code Playgroud)

使用此代码sess.run(layer1) == sess.run(layer1,feed_dict={input:X_test}),这不应该是真实的。

有人可以帮我吗?

python protocol-buffers neural-network output tensorflow

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

在 Keras 中显示模型布局/设计(包括所有连接)

与我从.h5文件加载该训练模型时相比,在训练后测试 Keras LSTM 模型时,我有很大的不同(第一个的准确度总是 > 0.85,但后者的准确度总是低于 < 0.2,即随机猜测) .

但是我检查了权重,它们是相同的,而且 Keras 给我的稀疏布局 viaplot_model是相同的,但由于这只能检索粗略的概述:

是否可以显示 Keras 模型的完整布局(尤其是节点连接)?

visualization lstm keras recurrent-neural-network machine-learning-model

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

是否有带时间戳的Linux串行终端?

我仍然想检查嵌入式设备的Bootloader + Linux Startupcode.因此,我想抓住打印到串口的每个命令的时间.

我知道有像putty(我可以推荐),getty,cutecom,picocom,屏幕等程序.但是这些都没有为主机屏幕上的输入消息添加时间戳(我真的不是在谈论日期,更多比如自第一次输出以来已经消失了多少ms).实际上听起来不是什么大不了的事.

我发现有一个脚本正在做我想要的东西,称为抓取但是它不能正常工作,因为它会减慢处理整个输出.我在另一个论坛讨论过这个问题(如果你想知道:抓住问题,但它不是主题的一部分).所以我不能使用那个脚本.

再说一次:你能告诉我一个Linux终端,它为每一行添加时间戳,这是从串口收到的吗?

谢谢

[编辑:]我发现了一个非常粗糙的解决方法,谷物,想要有一些设置,因为它每次使用时锁定端口.最后,它会添加实际的日期和时间,而不是每个步骤之间的启动时间和difftime,因此您可以看到我仍在寻找适当的解决方案.

linux serial-port

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