RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-293287

zcorvid's questions

Martin Hope
zcorvid
Asked: 2024-05-08 16:31:09 +0000 UTC

如何迭代两个向量中的所有元素?

  • 7

有两个向量。您需要遍历它们的所有元素并执行相同的操作,首先对一个向量的元素进行操作,然后对第二个向量的元素进行操作。

std::vector<int> mas1 = {0,1,2,3};
std::vector<int> mas2 = {4,5,6,7,8,9};
for (auto num : mas1) { do_smth (); }
for (auto num : mas2) { do_smth (); }

是否可以在一个循环中执行相同的操作,但不创建共享向量?

c++
  • 3 个回答
  • 63 Views
Martin Hope
zcorvid
Asked: 2023-11-04 14:08:12 +0000 UTC

寻找最小非零数组元素

  • 7

有一个数组std::vector<unsigned int> mas,你需要找到非零元素中的最小值。

通过这种方式可以轻松找到最小值:

auto min_pos = std::min_element (mas.begin (), mas.end (), [&](unsigned int a, unsigned int b){ return a < b; });
unsigned int m = *min_pos;

我专门用 lambda 编写,因为(在我看来)我需要向其中添加一些棘手的东西,到底是什么 - 我无法弄清楚。

修改数组是不可能的;如果可以的话,我会std::remove根据拇指进一步做。

c++
  • 3 个回答
  • 103 Views
Martin Hope
zcorvid
Asked: 2022-08-15 22:10:08 +0000 UTC

帮助查找将 lambda 与 `std::function` 结合使用的错误

  • 0

我在看似简单的代码中使用了 lambda:

#include <iostream>
#include <functional>

using my_type = unsigned int;

int main()
{
    my_type def_val = -1;
auto correct_value = [&] (my_type &x, const my_type y, std::function<const my_type& (const my_type&, const my_type&)> selector)
{
  if (x != def_val)
    x = selector (x, y);
  else
    x = y;
};
    my_type x = 10;
    correct_value (x, 20, std::min<my_type>);
    std::cout << x << std::endl;
    return 0;
}

但它给出了一个编译错误:

main.cpp:18:5: error: no matching function for call to object of type '(lambda at main.cpp:10:22)'
    correct_value (x, 20, std::min<my_type>);
    ^~~~~~~~~~~~~
main.cpp:10:22: note: candidate function not viable: no overload of 'min' matching 'std::function<const my_type &(const my_type &, const my_type &)>' (aka 'function<const unsigned int &(const unsigned int &, const unsigned int &)>') for 3rd argument
auto correct_value = [&] (my_type &x, const my_type y, std::function<const my_type& (const my_type&, const my_type&)> selector)

我做错了什么?似乎第三个参数(函数)对应于原型。但他还是骂。

在线编译器中的代码:tyk

c++ функции
  • 1 个回答
  • 34 Views
Martin Hope
zcorvid
Asked: 2022-06-29 19:01:23 +0000 UTC

按条件创建常量字符串

  • 0

有这样的代码:

std::string str;
if (x > 0) str = "positive";
else if (x < 0) str = "negative";
else str = "zero";

我想重写代码,str使它成为一个常数。如何让它“漂亮”?创建一个“计算”这个字符串并返回它的函数是很难看的:

const std::string str = Foo ();

或者甚至在现场创建一个 lambda ......但你不想 :) 。

c++ строки
  • 5 个回答
  • 74 Views
Martin Hope
zcorvid
Asked: 2020-06-03 02:33:19 +0000 UTC

如何在 C++ 中提取 pytorch 格式的神经网络响应?

  • 0

我训练了一个 keras 模型,然后使用 mmdnn 将其转换为pytorch。然后我尝试在 c++ 代码中使用它:

#include <iostream>

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

#include <torch.h>

int main()
{
    cv::Mat image;
    image= cv::imread("test_img.png", cv::IMREAD_GRAYSCALE);   // Read the file

try
{
    torch::jit::script::Module module;
    module = torch::jit::load("my_model.pth");

    torch::IntArrayRef input_dim = std::vector<int64_t>({ 1, 2, 256, 256});

    cv::Mat input_img;
    image.convertTo(input_img, CV_32FC3, 1 / 255.0);
    torch::Tensor x = torch::from_blob(input_img.data, { 1, 2, 256, 256 }, torch::kFloat);
    torch::NoGradGuard no_grad;

    auto output = module.forward({ x });

    float* data = static_cast<float*>(output.toTensor().data_ptr());

    cv::Mat output_img = cv::Mat(256, 256, CV_32FC3, data);
    cv::imwrite("output_img.png", output_img);
}
catch (std::exception &ex)
{
    std::cout << "exception! " << ex.what() << std::endl;
}

    return 0;
}

作为启动的结果,收到了一个异常:

例外!isTensor() INTERNAL ASSERT FAILED at E:\20B\pytorch\pytorch\aten\src\ATen/core/ivalue_inl.h:112,请向 PyTorch 报告错误。预期张量但得到元组(toTensor at E:\20B\pytorch\pytorch\aten\src\ATen/core/ivalue_inl.h:112)(没有可用的回溯)

float* data = static_cast<float*>(output.toTensor().data_ptr());调用toTensor(). _ 如果改为使用toTuple(),则生成的对象没有data_ptr()我需要获取包含神经网络响应的数据的方法(然后将其放入opencv图片中以稍后保存)。

如何仍然从神经网络的响应中提取图片?

c++
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-02-17 18:50:41 +0000 UTC

为什么 const 方法可以调用非 const 类成员方法?

  • 1

在下面的代码中, const 类方法B调用了其成员的非 const 方法A &a_ref,这似乎与const限定符的逻辑相矛盾(理论上,代码不应该编译)。为什么会发生这种情况?

最低代码:

#include <iostream>

class A
{
public:
    void NonConstHello() /*const*/
    {
        std::cout << "non const Hello from A!" << std::endl;
    }
};

class B
{
public:
    A &a_ref;

    explicit B(A &a) : a_ref(a) {}
    void ConstHello() const /*const method*/
    {
        a_ref.NonConstHello();  // calls non-const method for his member???
        std::cout << "    const Hello from B!" << std::endl;
    }
};

int main()
{
    A a;
    B b(a);
    b.ConstHello();
    return 0;
}

结论:

non const Hello from A!
    const Hello from B!
c++
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-01-28 16:06:43 +0000 UTC

auto 关键字的类型推理规则

  • 13

使用关键字时如何确定初始化变量的类型auto?

在什么情况下,变量会变成常量、引用、指针或所有这些的各种组合?

const auto额外的指示,例如, auto&(const auto&以及可能类似的带有指针的指示,甚至可能带有双指针和带有)将如何影响这些规则&&?

c++
  • 2 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-01-10 20:23:53 +0000 UTC

创建对临时对象的本地常量引用时未定义的行为?

  • 0

以下代码是否包含 UB ?对本地对象的引用在返回时会变坏,但如果它们是通过const引用返回的,那么它们的生命周期会延长,所有返回都是通过const引用进行的(尽管通过auto),一切似乎都很好:

std::vector<int> Foo(int N = 10)
{
    std::vector<int> rv;
    for (int i = 0; i < N; ++i)
    {
        rv.push_back(i + 10);
    }
    return rv;
}

int GetNumber()
{
    const auto &num = Foo().front();
    return num;
}

int main()
{
    int x = GetNumber();
    std::cout << x << std::endl;
    return 0;
}

PS。然而,这段代码有时表现得不恰当(不完全是这个,我把所有东西都压缩成一个最小的例子,我们有更复杂对象的 std::vector,并且仍然有线程并行旋转,这一切都增加了真实表现的可能性UB)。

c++
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-09-11 17:12:21 +0000 UTC

h5神经网络格式是什么

  • 0

有几个带有 h5 扩展名的文件,他们把它们扔给我,说它们包含有关某些神经网络的信息,从文件的名称来看,那里肯定有权重系数。尚无有关文件的更多信息(但我们正在尝试联系文件的作者,他们只是来自另一个国家,尚未回复)。

如果,当然,这是某种格式,我在哪里可以阅读神经网络的 h5 格式的描述?以及如何/如何读取这样的文件?最好将其转换为 TensorFlow 格式或其他已知的格式...

我什至不确定这个文件是否完全定义了神经网络,因为,例如,在 OpenVINO 格式中,包含 2 个文件,一个带有神经网络架构描述的 xml 和一个带有权重的单独二进制文件。在这里,也许,只有重量。

нейронные-сети
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-09-09 18:11:11 +0000 UTC

未解析的外部符号 cv::waitKey

  • 0

我在 MSVC2017 环境中使用 OpenCV。

该程序有一个调用:

keyPressed = cv::waitKey(1)

编译时链接错误:

Error   LNK2001 unresolved external symbol "int __cdecl cv::waitKey(int)"

应该将什么库(.lib 文件)添加到waitKey链接?

一般来说,在哪里看,哪些 OpenCV 功能需要哪些库?对于某些人来说,这很容易用谷歌搜索(我自己找到了一些),但例如,未找到 waitKey。或者在使用 OpenCV 时连接一组库可能是正确的?那么,让所有功能正常工作的列表是什么?

c++
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-09-03 16:41:10 +0000 UTC

在 OpenVINO 中初始化神经网络时出错:类型不支持的原语

  • 1

OpenVINO 在加载网络时出错。

编码:

    // 1 - Читаем сеть
    InferenceEngine::Core core;
    InferenceEngine::CNNNetReader network_reader;
    network_reader.ReadNetwork(modelXmlName);
    network_reader.ReadWeights(modelBinName);

    // 2 - Получаем сеть из класса-читалки
    auto network = network_reader.getNetwork();

    // 3 - Получаем информацию о входах и выходах сети
    InferenceEngine::InputsDataMap input_info(network.getInputsInfo());
    InferenceEngine::OutputsDataMap output_info(network.getOutputsInfo());

    // 4 - Конфигурируем входы и выходы сети
    for (auto &item : input_info)
    {
        auto input_data = item.second;
        input_data->setPrecision(InferenceEngine::Precision::U8);
        input_data->setLayout(InferenceEngine::Layout::NCHW);
        input_data->getPreProcess().setResizeAlgorithm(InferenceEngine::RESIZE_BILINEAR);
        input_data->getPreProcess().setColorFormat(InferenceEngine::ColorFormat::RGB);
    }

    // 5 - Загружаем сеть
    auto executable_network = core.LoadNetwork(network, "CPU");

称呼

auto executable_network = core.LoadNetwork(network, "CPU");

抛出具有以下内容的异常:

Unsupported primitive of type: DetectionOutput name: DetectionOutput_

做错了什么?在这个调用之前似乎有必要配置其他东西,但我不明白具体是什么。

c++
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-05-23 21:33:23 +0000 UTC

取决于优化级别的奇怪溢出行为

  • 7

让我们看一下代码:

#include <stdio.h>

int main()
{
    unsigned char xi;
    unsigned char xf;
    int   bi = -300;
    float bf = -300;
    xi = bi;
    xf = bf;
    printf("xi = %d\n", xi);
    printf("xf = %d\n", xf);

    return 0;
}

我们得到输出:

xi = 212
xf = 0

尽管预计它会unsigned char正确溢出并且两个变量都等于212. 有趣的是,当标志存在时-O0(没有优化),输出如预期:

xi = 212
xf = 212

带有标志-O1及以上,已经出现差异。

显然,我在这里踩到了某种未定义的行为,告诉我这里到底发生了什么?关节在哪里?

PS。当溢出“向上”时,如果float跳过,输出为 255,如示例中所示。

c++
  • 2 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-05-23 14:09:11 +0000 UTC

为什么 unsigned char 的总和具有 int 类型?[复制]

  • 2
这个问题已经在这里得到了回答:
隐式数据类型转换 2 个答案
C语言,比较有符号和无符号时的奇怪行为 2答案
3年前关闭。

在以下示例中:

#include <iostream>
#include <typeinfo>

int main()
{
    unsigned char a, b, c;
    a = 100;
    b = 100;
    c = 100;

    int x = (a + b + c);

    std::cout << "typeid(a + b + c) = " << typeid(a + b + c).name() << std::endl;
    std::cout << "x                 = " << x << std::endl;
    std::cout << "a + b + c         = " << a + b + c << std::endl;

    return 0;
}

我们得到输出:

typeid(a + b + c) = i
x                 = 300
a + b + c         = 300

如您所见,无符号字符的总和没有溢出,并且总和的类型结果是 int。这对我来说很奇怪,在我看来,标准保证无符号类型溢出,除以最大可表示数的余数,也就是说,在上面的例子中,x 应该等于 300% 256 = 44 .

我的错误是什么?最好参考标准或 cppreference。

PS。实验链接:http ://cpp.sh/7t35b

c++
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-04-24 22:00:53 +0000 UTC

计算图像窗口中最小值的算法

  • 2

任务非常简单。

给定一个图像,一个数组,让它是整数,大小为 m x n。我们想通过一个 k x l 的窗口来遍历它,并在每个窗口中计算最小值(然后将这个最小值写在某个地方,但这不适用于算法)。

额头中的算法将给出复杂度 O (mnkl)。

您可以应用具有最小堆(堆)的算法,然后渐近线将下降到 O (log (kl) n (mk + l)) (也许我错了,但我是这样做的)。

带有堆的算法看起来像这样:向右或向左走一步,我们将新到达的数字添加到堆中(k 或 l 个添加,每个 log (kl)),并删除相同的数量(列或行,时间与添加时间相同)。

为了支持删除,堆需要巧妙地实现,通过一个代理对象,除了数字本身,它还包含它在堆中的位置的索引,堆将更新这些索引,并通过它们执行删除请求(实际上,这是一个标准技巧,如果我们通过堆实现滚动 k 统计量,我不知道不使用代理的算法)。

对于一维数组的情况,移动最小值也可以使用队列以线性时间计算。对于二维情况,我无法概括此解决方案。

我认为的方向是多么真实。也许我错过了一些明显的算法,而我正坐着,从头开始发明复杂性。堆算法有多合适?会不会因为代理的开销,我们会花费这么多时间,以至于天真的实现会更快?

好吧,也许有一种比一堆算法更快的方法?类推一维情况。

алгоритм
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-03-11 14:45:01 +0000 UTC

标准输出,自动冲洗

  • 1

是否可以将流传输std::cout到每次输出后自动完成的模式std::cout << std::flush?

解决方案选项:

  1. std::flush在每次输出后显式写入
  2. 围绕 编写一个包装器std::cout,重载其移位运算符,然后刷新。

但是肯定有一些常规的方法可以做到这一点,我无法谷歌它,我找不到一个查询,以便谷歌能够理解我想要什么。有谁知道如何做到这一点?

c++
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-02-24 17:29:13 +0000 UTC

在 prolog 中描述逻辑门的正确方法是什么?

  • 0

一个逻辑门可以这样描述:

pred_or(1, 1).
pred_or(1, 0).
pred_or(0, 1).

其余谓词类似。但也许有一种更正确的方法来指示,根据真值表,在哪些组合上,门(0 和 1)的输出将等同于哪个值。上述方法正确吗?还是做一些不同的事情更好?

prolog
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-02-09 03:48:26 +0000 UTC

错误:超出本地堆栈

  • 0

我的代码:

parent(pamela, bob).
parent(tom, bob).
parent(tom, liz).
parent(bob, ann).
parent(bob, patricia).
parent(patricia, jim).

ancestor(X, Y) :- parent(X, Y); ancestor(X, Z), parent(Z, Y).

% Кому Памела является предком?
query1(X) :- ancestor(pamela, X), write(X), nl, fail.

要求:

query1(X).

给出错误消息:

ERROR: Out of local stack
bob
ann
patricia
jim

在在线翻译器中推出(链接)。

我做错了什么?

prolog
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-02-07 03:38:55 +0000 UTC

如何使查询返回所有响应,而不仅仅是一个?

  • 1

我的代码:

parent(pamela, bob).
parent(tom, bob).
parent(tom, liz).
parent(bob, ann).
parent(bob, patricia).
parent(patricia, jim).
grandparent(X, Y) :- parent(X, Z), parent(Z, Y).

% Кто прародители Патриции?
query(X) :- grandparent(X, patricia).

在在线翻译器(链接)中,我提出了一个要求:

query(X).

作为回应,我得到:

X = pamela 

迷路的汤姆。如何让它显示所有的祖父母?

prolog
  • 2 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-02-05 03:36:27 +0000 UTC

无法在 Prolog 程序中执行查询

  • 0

我写了以下结构(在在线翻译链接中):

parent(Maria, Daria).
query1() :- parent(Maria, Daria)
? query1().

没有任何输出。如何让查询结果显示在屏幕上?

prolog
  • 1 个回答
  • 10 Views
Martin Hope
zcorvid
Asked: 2020-02-05 03:30:37 +0000 UTC

警告:单例变量

  • 0

告诉我,我试图在在线序言翻译器(https://rextester.com/l/prolog_online_compiler )中写一个事实,如教程中所述:

parent(Maria, Daria).

收到警告:

Warning: source_file.prolog:5:
    Singleton variables: [Maria,Daria]

为什么会出现此警告?是否有必要提前声明变量?

prolog
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5