«ImportError: нет модуля с именем torch» в пакете ROS - PullRequest
1 голос
/ 26 января 2020

Я создал пакет ROS, в котором есть несколько python скриптов. Сценарии python основаны на модуле torch (это код вывода моделей pytorch). когда я пытаюсь запустить свои скрипты, это выдает мне ошибку: ImportError: No module named torch

Для установки ROS я использовал инструкцию ROS wiki . Чтобы проверить мою установку, я следовал примеру кода ROS (простой издатель и подписчик ), и он хорошо работает. Моя системная информация:

python: 3.6.9 факел: 1.1.0 факельное зрение: 0.3.0 Ядро ОС: Linux 4.15.0-74-generi c Дистрибутив ОС: Ubuntu 18.04.3

Я хочу импортировать следующие библиотеки:

import torch
from cv_bridge import CvBridge
import cv2
import os
import numpy as np
from torch.autograd import Variable
from torchvision import transforms
import torch.nn.functional as F
import torch._utils
import time
from PIL import Image 

Мой файл CMake выглядит следующим образом:

cmake_minimum_required(VERSION 2.8.3)
project(inference_pytorch)

## Compile as C++11, supported in ROS Kinetic and newer
# add_compile_options(-std=c++11)

set(Torch_DIR ".local/lib/python3.6/site-packages/torch/share/cmake/Torch")

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  cv_bridge
)
find_package(Torch REQUIRED)
find_package(OpenCV 3 REQUIRED)
## System dependencies are found with CMake's conventions
# find_package(Boost REQUIRED COMPONENTS system)

###################################
## catkin specific configuration ##
###################################
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES inference_pytorch
#  CATKIN_DEPENDS roscpp rospy std_msgs
#  DEPENDS system_lib
)

###########
## Build ##
###########

## Specify additional locations of header files
## Your package locations should be listed before other locations
include_directories(
# include
  ${catkin_INCLUDE_DIRS}
  ${OPENCV_INCLUDE_DIRS}
  ${Torch_INSTALL_INCLUDE}
  ${Torch_DIR}
)

#############
## Install ##
#############

# all install targets should use catkin DESTINATION variables
# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html

install(PROGRAMS
   scripts/inference_test.py
   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
 )

 catkin_install_python(PROGRAMS scripts/inference_test.py
                      DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})

link_directories(
  ${Torch_INSTALL_LIB}
)

Сейчас Как мне отредактировать файл CMAKE, чтобы добавить упомянутые библиотеки в мой пакет ROS?

1 Ответ

0 голосов
/ 24 февраля 2020

Наконец, я обнаружил, что установленная ROS работает с python2, поэтому я установил горелку с pip2. Также установите путь к факелу в файле cmake. Теперь это работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...