Closed YeungChiu closed 3 years ago
您好,首先需要安装AlphaPose模型,安装该模型之后会在当前文件夹下生成一个build文件;然后再对plugin进行make即可。注意,需要对build下的Makefile文件进行部分修改,我将我修改之后的文件贴在这里: ` SHELL=/bin/bash CUDA_PATH = /usr/local/cuda TRT_PATH = /opt/tensorrt GENCODE = -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_80,code=sm_80 -gencode arch=compute_86,code=sm_86 -gencode arch=compute_86,code=compute_86
GCC = g++ NVCC = $(CUDA_PATH)/bin/nvcc CCFLAGS = -g -DNDEBUG -std=c++17 INCLUDES := -I../include -isystem $(CUDA_PATH)/include -isystem $(TRT_PATH)/include LDFLAGS := -L$(CUDA_PATH)/lib64 -L$(TRT_PATH)/lib -Wl,-rpath=$(CUDA_PATH)/lib64 LDFLAGS += -lnvinfer -lnvonnxparser -lcudart -ldl -lpthread -lcuda
OBJ_DIR = obj OBJ = $(shell find $(OBJ_DIR) -name *.o 2>/dev/null) DEP = $(OBJ:.o=.d)
SO = AddPlugin.so GridSamplerPlugin.so ScatterND.so GatherND.so
all: $(SO)
AddPlugin.so: $(addprefix $(OBJ_DIR)/, AddPlugin.o) GridSamplerPlugin.so: $(addprefix $(OBJ_DIR)/, GridSamplerPlugin.o) ScatterND.so: $(addprefix $(OBJ_DIR)/, ScatterND.o) GatherND.so: $(addprefix $(OBJ_DIR)/, GatherND.o)
-include $(DEP)
clean: rm -rf $(BIN) $(SO) $(DEP) $(OBJ_DIR) out.trt int8_cache.* rm -rf ../python/resnet50.{onnx,trt} ../python/resnet50.dynamic_shape.{onnx,trt} ../python/{custom.onnx,custom_surgeon.onnx} ../python/out.trt ../python/pycache
VPATH = ../include:../samples:../plugins
$(OBJ_DIR)/%.o: %.cpp @mkdir -p $(@D) $(GCC) $(CCFLAGS) -fPIC -MD -MP $(INCLUDES) -o $@ -c $<
$(OBJ_DIR)/%.o: %.cu @mkdir -p $(@D) $(NVCC) $(CCFLAGS) -M -MT $@ $(INCLUDES) -o $(@:.o=.d) $< $(NVCC) $(CCFLAGS) $(INCLUDES) -Xcompiler -fPIC $(GENCODE) -o $@ -c $<
$(SO): $(GCC) $(CCFLAGS) -shared -o $@ $+ $(LDFLAGS)
$(BIN): $(GCC) $(CCFLAGS) -o $@ $+ $(LDFLAGS)
$(CUDA_BIN): $(NVCC) $(NVCCFLAGS) -o $@ $+ $(LDFLAGS) `
注意:需要将该仓库下build文件的makefile文件一同拷贝到当前路径的build文件中,然后在根据上面我提供的修改后的makefile进行修改,最后再进行make。
非常感谢您的帮助和建议,我谨遵照您的步骤来进行修改和编译,很遗憾,我这里还是出了点问题,具体表现如下: cd build; make make[1]: 进入目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” mkdir: 缺少操作数 Try 'mkdir --help' for more information. Makefile:39: recipe for target 'obj/AddPlugin.o' failed make[1]: [obj/AddPlugin.o] Error 1 make[1]: 离开目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” Makefile:4: recipe for target 'all' failed make: [all] Error 2 请问这是什么原因呀?
作为以上的补充,我在您给的build文件夹下的Makefile中的第三行TRT_PATH中修改成自己的路径,因为本人安装的TensorRT路径不一样。
不需要进去build文件,在AlphaPose_TRT路径下进行make
我正是在AlphaPose_TRT路径下进行make的,详细如下 (pytorch) zhanggaoli@userA:~/Documents/Pytorch/AlphaPose_TRT$ make cd build; make make[1]: 进入目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” mkdir: 缺少操作数 Try 'mkdir --help' for more information. Makefile:39: recipe for target 'obj/AddPlugin.o' failed make[1]: [obj/AddPlugin.o] Error 1 make[1]: 离开目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” Makefile:4: recipe for target 'all' failed make: [all] Error 2
补充一下其他的详细情况,在生成build文件后,我已经将修改好的Makefile文件放到当前目录的build文件夹下,同时当前目录下也有一个Makefile文件,作为在当前路径下进行编译,plugins文件夹也已经放到当前目录下。
我已经解决了,我这边是将配置文件需要添加一部分才能实现的。再次感谢您的帮助。
我已经解决了,我这边是将配置文件需要添加一部分才能实现的。再次感谢您的帮助。
可以分享一下自己的解决方案~
我机子的解决方案是: 在您的修改的Makefile文件的基础上,需要进行小小的改动。 1.TRT_PATH变量一定要改成自己的路径,自己安装TensorRT的路径,这是每个人可能都不同的地方; 2.关于GENCODE变量我是 GENCODE = -gencode arch=compute_61,code=sm_61 具体参数详见nvidia-gpu-stats 或许有的人允许存在多个参数可以进行编译,但是我的就不行,而且也不报错,很长时间才发现。 3.在安装CUDA并且添加cudnn的时候,我当时没有完全没有复制过去,因为有一部分用不上。建议cudnn.h中包含的所有的头文件全部复制到/usr/local/cuda/include中去。
您好,请问在AlphaPose_TRT的文件夹下安装,然后make后,scatterND plugin是直接就安装到tensorrt了吗,我在别的工程就可以直接用这个plugin了?
我正是在AlphaPose_TRT路径下进行make的,详细如下 (pytorch) zhanggaoli@userA:~/Documents/Pytorch/AlphaPose_TRT$ make cd build; make make[1]: 进入目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” mkdir: 缺少操作数 Try 'mkdir --help' for more information. Makefile:39: recipe for target 'obj/AddPlugin.o' failed make[1]: [obj/AddPlugin.o] Error 1 make[1]: 离开目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” Makefile:4: recipe for target 'all' failed make: [all] Error 2
补充一下其他的详细情况,在生成build文件后,我已经将修改好的Makefile文件放到当前目录的build文件夹下,同时当前目录下也有一个Makefile文件,作为在当前路径下进行编译,plugins文件夹也已经放到当前目录下。
我已经解决了,我这边是将配置文件需要添加一部分才能实现的。再次感谢您的帮助。
您好,想问下您是在什么设备下编译的这个工程,是jetson设备还是PC或服务器上?如果是PC或服务器,是要先单独装tensorrt是吗? 谢谢~~~~
您好,很抱歉过几天才回复你。我是在服务器上进行编译工程的,必须先安装tensorrt然后才能使用,而且应当注意tensorrt针对您自己的PC或者服务器进行一定路径配置。
在 2021-10-22 15:53:04,"rsj007" @.***> 写道:
我已经解决了,我这边是将配置文件需要添加一部分才能实现的。再次感谢您的帮助。
您好,想问下您是在什么设备下编译的这个工程,是jetson设备还是PC或服务器上?如果是PC或服务器,是要先单独装tensorrt是吗? 谢谢~~~~
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
我正是在AlphaPose_TRT路径下进行make的,详细如下 (pytorch) zhanggaoli@userA:~/Documents/Pytorch/AlphaPose_TRT$ make cd build; make make[1]: 进入目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” mkdir: 缺少操作数 Try 'mkdir --help' for more information. Makefile:39: recipe for target 'obj/AddPlugin.o' failed make[1]: [obj/AddPlugin.o] Error 1 make[1]: 离开目录“/home/userA/Documents/Pytorch/AlphaPose_TRT/build” Makefile:4: recipe for target 'all' failed make: [all] Error 2 补充一下其他的详细情况,在生成build文件后,我已经将修改好的Makefile文件放到当前目录的build文件夹下,同时当前目录下也有一个Makefile文件,作为在当前路径下进行编译,plugins文件夹也已经放到当前目录下。
- 您好,您能分享一下具体的makefile.txt文件吗,我按照您的建议都修改了,仍然报和你这个一模一样的错误,我不知道该怎么办了。
- 还有一个问题,对于问题about run error,TypeError: init() takes 2 positional arguments but 3 were given #6您有遇到吗,期待您的回复
您好,我也遇到了相同的问题,请问您解决了吗?怎么解决的可否请教一下,谢谢!
你好。 我在你的代码中将this repository 下的plugins文件夹以及Makifile文件已经放到当前目录下,之后make Makefile中出现了以下报错: make: 对“Makefile”无需做任何事。 之后经过代码查看,发现build文件中貌似需要一些文件,请问需要什么文件?