近期在根据Libcom的官方文档下载和运行Libcom时遇到了ModuleNotFoundError: No module named 'trilinear’的问题以及如何解决在这里记录一下
目录
- libcom介绍
- 问题描述:ModuleNotFoundError: No module named 'trilinear'的问题
- 解决:在github有同样的问题,并在评论区有给出解决方式如下所示
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>