小编Eag*_*gle的帖子

将列表拆分为不同的变量

我有一个这样的列表:

[('love', 'yes', 'no'), ('valentine', 'no', 'yes'), ('day', 'yes','yes')]
Run Code Online (Sandbox Code Playgroud)

如何将此列表拆分为三个变量,每个变量分别保持不变

  • ('love', 'yes', 'no')
  • ('valentine', 'no', 'yes')
  • ('day', 'yes','yes')

python list

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

OpenCV-将曲线拟合到一组点

这是我在这里发布的内容:OpenCV-从图像中删除“白色”伪像并拟合曲线

我通过在任何给定位置寻找对角线上的点来删除图像中多余的白点。我的结果现在看起来像这样:

删除诊断

现在,我想使曲线适合图像中的其余点。我一直在浏览OpenCV以前的帖子,其中有些建议approxPolyDP。有没有更简单的方法来拟合曲线并在OpenCV中显示它?

这里使用霍夫曲线的想法对我来说太复杂了,因为我的图像本质上是二进制的:http : //homepages.inf.ed.ac.uk/rbf/BOOKS/BANDB/LIB/bandb4_3.pdf

最终图像是的(0-255)灰度图像w256 x h1024

编辑

我只是使用线段连接了图像中的点。但是,我想通过对所有点拟合一条平滑曲线来连接这些点。我已经在SO中搜索了这种方法,但找不到方法。

连接

c++ opencv image-processing

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

Python - 打印制表符分隔双字组

我有一套这样的词:

mike dc car dc george dc jerry dc
Run Code Online (Sandbox Code Playgroud)

每个单词mike dc george dc都用空格分隔.如何创建双字组并用标签分隔双字组?我想将它打印到标准输出stdout.

编辑 我尝试使用这个: print '\t'.join(hypoth),但它并没有真正削减它.这里的所有单词都是以制表符分隔的.理想情况下,我希望前两个单词用空格分隔,每两个单词集制表符分隔.

python

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

cudaFree - 设备指针错误无效

我正在尝试释放dev_inp我在CUDA + OpenGL互操作代码中分配的设备内存.检查错误后,我收到Invalid Device Pointer错误,程序在cudaFree(dev_inp);我的renderScene()函数结束时停止执行.一切都很好,但我担心内存泄漏.

问题:

一个.为什么我无法释放我分配的本地设备内存?我cuda_resource从像素缓冲区对象中取消映射,并取消注册资源.

从CUDA C编程指南的B.17节:

Memory allocated via malloc() cannot be freed using the runtime (i.e. by calling any of the free memory functions from Sections 3.2.2).

所以,这引出了另外两个问题:

湾 我没有malloc在内核中编写内存,因为我没有内存.那么,利用这个cudaFree功能应该(技术上?)在这里工作吗?是由程序员解除提供给本地定义的指针的内存,还是nvcc编译器在程序退出时或者当它超出本地范围时负责解除分配?我不想在我的代码中发生内存泄漏,所以通过解除我之前分配的内存释放感觉更安全.

C.cudaDeviceReset()renderScene()函数结束时调用是否谨慎,以便根据CUDA C编程指南销毁主CUDA上下文(及其变量和指针)?我已经看到NVidia Visual Profiler doc也提到了这个:cudaDeviceReset() 当我调用它时,渲染似乎比平时慢.如果我能cudaFree在这里简单地记忆,那将是很棒的,但我似乎无法让它发挥作用.

完整代码:

#define GET_PROC_ADDRESS( str ) wglGetProcAddress( str )

GLuint tex; 
GLuint pbo;
struct cudaGraphicsResource *cuda_resource;    

PFNGLBINDBUFFERARBPROC    glBindBuffer     = NULL; …
Run Code Online (Sandbox Code Playgroud)

opengl cuda

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

Python - 从csv文件中获取列数

我正在尝试确定python v2.6中CSV文件中存在的列数.这必须是一般的,因为对于我传递的任何输入,我应该能够获得文件中的列数.

示例输入文件: love hurt hit

其他输入文件: car speed beforeTune afterTune repair

到目前为止,我试图做的是读取文件(有很多行),获取第一行,然后计算第一行中的单词数.分界符是,.当我尝试headings根据示例输入进行拆分时遇到了问题,接下来len(headings)给了我14哪个错误,因为它应该给我3.任何想法?我是初学者.

with open(filename1, 'r') as f1:

 csvlines = csv.reader(f1, delimiter=',')

 for lineNum, line in enumerate(csvlines):
      if lineNum == 0:
           #colCount = getColCount(line)
           headings = ','.join(line)           # gives me  `love, hurt, hit`
           print len(headings)                 # gives me 14; I need 3
      else:
           a.append(line[0])
           b.append(line[1])
           c.append(line[2])
Run Code Online (Sandbox Code Playgroud)

python

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

OpenCV - 将CUDA设备数据复制到GPU Mat中

有没有办法直接将以前分配的CUDA设备数据复制到OpenCV GPU Mat中?我想将以前初始化并由CUDA填充的数据复制到OpenCV GPU垫中.我想这样做是因为我想Ax = B通过A使用OpenCV 计算矩阵的逆来求解线性方程组.

我想做的是这样的:

float *dPtr; 
gpuErrchk( cudaMalloc( (void**) &dPtr, sizeof(float) * height * width));    
gpuErrchk( cudaMemset(dPtr, 0, sizeof(float) * height * width));

// modify dPtr in some way on the GPU 
modify_dPtr(); 

// copy previously allocated and modified dPtr into OpenCV GPU mat? 

// process GPU mat later - e.x. do a matrix inversion operation. 

// extract raw pointer from GPU mat
Run Code Online (Sandbox Code Playgroud)

编辑: OpenCV 文档提供GPU upload功能.

设备指针是否可以作为参数传递给该函数?如果没有,是否没有其他方法可以进行这样的数据传输?我不想在主机和设备内存之间来回复制数据,在普通的OpenCV Mat容器上进行计算,然后复制结果; …

opencv cuda

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

Keras - 自定义损失功能 - 倒角距离

我正在尝试使用自定义损失函数进行对象分割,如下所示:

def chamfer_loss_value(y_true, y_pred):           

    # flatten the batch 
    y_true_f = K.batch_flatten(y_true)
    y_pred_f = K.batch_flatten(y_pred)

    # ==========
    # get chamfer distance sum

    // error here
    y_pred_mask_f = K.cast(K.greater_equal(y_pred_f,0.5), dtype='float32')

    finalChamferDistanceSum = K.sum(y_pred_mask_f * y_true_f, axis=1, keepdims=True)  

    return K.mean(finalChamferDistanceSum)

def chamfer_loss(y_true, y_pred):   
    return chamfer_loss_value(y_true, y_pred)
Run Code Online (Sandbox Code Playgroud)

y_pred_f是我的U-net的结果.y_true_f是地面真实标签掩码上的欧氏距离变换的结果,x如下所示:

distTrans = ndimage.distance_transform_edt(1 - x)
Run Code Online (Sandbox Code Playgroud)

为了计算距离倒角,则相乘的预测图像(理想地,与1和0掩模)与地面实况距离变换,并简单地总结在所有像素.要做到这一点,我需要y_pred_mask_f通过阈值处理获得一个掩码y_pred_f,然后乘以y_true_f,并对所有像素求和.

y_pred_f在[0,1]中提供连续的值范围,我None type not supported在评估时得到误差y_true_mask_f.我知道损失函数必须是可微,且greater_equalcast都没有.但是,在克拉斯有没有办法规避这个?也许在Tensorflow中使用一些解决方法?

machine-learning neural-network deep-learning keras tensorflow

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

Python - 枚举中的索引

我刚刚开始学习Python。python中循环从什么索引值for开始?

例如,如果我有一个包含 390 行的文本文件,并且我迭代:

for i, word in enumerate(f)

索引的值是从 开始0还是从 开始1?另外,如果我想打印文件中的每 30 行,那么我是否必须像这样迭代?

if i+1 in [30,60,90,120,150,180,210,240,270,300,330,360,390]:
    print i
    ...
Run Code Online (Sandbox Code Playgroud)

python

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