运行libcom时如何解决ModuleNotFoundError: No module named ‘trilinear‘的问题

近期在根据Libcom的官方文档下载和运行Libcom时遇到了ModuleNotFoundError: No module named 'trilinear’的问题以及如何解决在这里记录一下


libcom介绍

Libcom官方文档网址
https://libcom.readthedocs.io/en/latest/get_started.html
提示:这里简述项目相关背景:
libcom(图像合成库)是一个图像合成工具箱。图像合成(对象插入)的目标是将一个前景对象插入到背景图像中,通过解决前景与背景之间在外观、几何形状和语义上的不一致性,从而生成逼真的合成图像。一般而言,图像合成可用于将不同图像中的视觉元素结合起来。
libcom涵盖了图像合成领域的多种相关任务,包括图像融合、标准/绘画风格图像和谐化、阴影生成、对象放置、生成式合成、质量评估等。对于每项任务,我们都会综合考虑效率和效果,整合一种或两种精选方法。随着更优方法的出现,所选方法将不断更新。

提供了一个很有意思的小Demo:
图像合成Demo链接
在这里插入图片描述


问题描述:ModuleNotFoundError: No module named 'trilinear’的问题

解决:在github有同样的问题,并在评论区有给出解决方式如下所示

在这里插入图片描述

第一步 来到这个指定的链接

第二步 linux操作系统下输入:

git clone https://github.com/HuiZeng/Image-Adaptive-3DLUT.git

第三步来到指定的文件夹下 如下图所示

提示:libcom的官方文档对环境的要求的pytorch版本>1,因此执行命令:

cd trilinear_cpp
sh setup.sh

在这里插入图片描述

第四步 我在执行的过程中报错了

提示:报错内容是[Errno 2] No such file or directory: '/usr/local/cuda-10.2/bin/nvcc'
网上的解决方式是:

export CUDA_HOME=/usr/local/cuda-10.2

对我无效

我的解决方式是

修改setup.sh文件中

export CUDA_HOME=/usr/local/cuda-10.2 && python3 setup.py install

修改为

export CUDA_HOME=/usr/local/cuda&& python3 setup.py install

成功解决

第五步 在执行trilinear.cpp时 代码报错

提示:报错内容是fatal error: THC/THC.h: No such file or directory

网上分析是这个包已经过期了

解决方式是注释掉这行代码 引入新的包

在这里插入图片描述
代码是

#include "trilinear_kernel.h"
#include <torch/extension.h>
// #include <THC/THC.h>
#include <cuda.h>
#include <cuda_runtime_api.h>
#include <ATen/cuda/CUDAContext.h>
#include <ATen/cuda/CUDAEvent.h>

还有
在这里插入图片描述
代码是

#ifndef _TRILINEAR_KERNEL
#define _TRILINEAR_KERNEL
#include <cuda.h>
#include <cuda_runtime_api.h>
#include <ATen/cuda/CUDAContext.h>
#include <ATen/cuda/CUDAEvent.h>
// #include <THC/THC.h>

成功解决后 代码运行起来

第六步 发现运行后 还是报ModuleNotFoundError: No module named ‘trilinear’

解决方法:libcom官方网站中在环境配置的时候创建了新的虚拟环境,因此在进行下载trilinear之前一定要观察是在base环境下还是Libcom的环境,因此我conda activate Libcom之后重新下载一下就可以运行了。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值