【踩坑合辑】7.14

Certifacte verify failed: certificate has expired (_ssl.c:1108)

看字面意思好像是python证书的问题,但其实是在下载某个模型时遇到的,查了网上一些去下载证书的方法,无果(网站打不开)于是选择自行下载好这个模型,再传到服务器上,完美解决~

linux查看cuda版本

失败:

cat /usr/local/cuda/version.txt

懒得找为什么

成功:

nvcc --version

但是忘记在哪里看到的了,好像这两种方案中,有一种是错误的,其显示的不是当前cuda版本,而是当前能容纳的最高cuda版本

range类型转list

b = list(range(10))

python中实现for循环的并行

为了实现这一点,今天真实搞吐我了…检索了好多办法,都感觉不适合我的任务,看到最多的是multiprocessing方法,但这种方法,感觉传递的参数有限,好几个例子中都只能传递一个参数…

于是我又找了一些,发现sklearn封装好的Parallel更容易学一点,参考文章python循环并行,sklearn大神们早已经为你封装好了一个函数于是就写成了:

def evaluate_model(t, movie_clip_featmaps, model, sent_vec):
    featmap = movie_clip_featmaps[t][1]
    visual_clip_name = movie_clip_featmaps[t][0]
    start = float(visual_clip_name.split("_")[1])
    end = float(visual_clip_name.split("_")[2].split("_")[0])
    featmap = np.reshape(featmap, [1, featmap.shape[0]])
    outputs = model(torch.from_numpy(featmap).cuda(device), torch.from_numpy(sent_vec).cuda(device))
    outputs = torch.reshape(outputs, [3])
    reg_end = end + outputs[2]
    reg_start = start + outputs[1]
    return outputs[0], reg_start, reg_end

parallel =Parallel(n_jobs=8)
all_results = parallel(delayed(evaluate_model)(t, movie_clip_featmaps, model, sent_vec) for t in range(len(movie_clip_featmaps)))
zipped_results = list(zip(*all_results))
sim, reg_start, reg_end = zipped_results
sentence_image_mat[k, :] = np.array(sim)
# sentence_image_reg_mat[k, :, 0] = np.array(reg_start)
# sentence_image_reg_mat[k, :, 1] = np.array(reg_end)

有机会再做解释

sklearn.externals.joblib导入问题

参考文章sklearn.externals.joblib导入问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值