Using host libthread_db library “/lib/x86_64-linux-gnu/libthread_db.so.1”.
Core was generated by `./demo’.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 __memcpy_avx_unaligned () at …/sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S:238
238 …/sysdeps/x86_64/multiarch/memcpy-avx-unaligned.S: No such file or directory.
[Current thread is 1 (Thread 0x7f0fa046a9c0 (LWP 24286))]
uchar *input_tensor = interpreter->typed_input_tensor<uchar>(0);
memcpy(input_tensor, image.data, image.total() * image.elemSize());
//下面这种写法也报同样的错
//memcpy(input_tensor, image.data, image.total() * image.elemSize()*sizeof(input_tensor[0]));
我自己的写法
float *input_tensor = interpreter->typed_input_tensor<float>(0);
for(int i=0;i<image.cols * image.rows * 3;i++){
input_tensor[i] = image.data[i]/255.0;
}
程序运行错误:SIGSEGV与内存拷贝问题分析

博客内容涉及一个程序在运行时遇到SIGSEGV信号,即段错误,具体发生在调用`memcpy`函数时。作者尝试了两种不同的数据拷贝方式,但都引发了相同的错误。问题可能源于内存对齐、数据类型转换或者内存分配不足等。作者提供的代码片段显示,他正在将图像数据输入到一个TensorFlow Lite解释器的输入张量中,进行预处理操作。
3419

被折叠的 条评论
为什么被折叠?



