Как исправить ошибку «фатальная ошибка: cuda_runtime.h: такого файла или каталога нет» при сборке TFS с использованием Bazel с пользовательскими операциями? - PullRequest
0 голосов
/ 18 апреля 2019

Я хочу развернуть обученную модель TF, используя tensorflow-serving (или TFS). Так как я использовал custom ops в моей оригинальной модели. Итак, мне нужно собрать TFS из исходного кода и добавить пользовательский оператор в tensorflow_serving/model_servers/BUILD файл.

TENSORFLOW_DEPS = [
    "@org_tensorflow//tensorflow/core:tensorflow",
    "//tensorflow_serving/servables/tensorflow:classification_service",
    "//tensorflow_serving/servables/tensorflow:get_model_metadata_impl",
    "//tensorflow_serving/servables/tensorflow:multi_inference",
    "//tensorflow_serving/servables/tensorflow:regression_service",
    "//tensorflow_serving/servables/tensorflow:saved_model_bundle_source_adapter",
    "//tensorflow_serving/servables/tensorflow:session_bundle_source_adapter",
    "//tensorflow_serving/servables/tensorflow:predict_impl",


    "//tensorflow_serving/custom_ops/interpolation:tf_interpolate.so",
    "//tensorflow_serving/custom_ops/grouping:tf_grouping.so",
    "//tensorflow_serving/custom_ops/sampling:tf_sampling.so",
]

Также файл BUILD в пользовательской операции tf_grouping:

package(
    default_visibility = [
        "//tensorflow_serving:internal",
    ],
    features = ["-layering_check"],
)

cc_library(
    name = "tf_grouping.so",
    srcs = ["tf_grouping.cc", "tf_grouping.cu.o"],
    visibility = [
        "//visibility:public",
    ],
    copts = ["-std=c++11"],
    deps = [
        "@org_tensorflow//tensorflow/core:framework",
        "@org_tensorflow//tensorflow/core:framework_headers_lib",
    ],
    alwayslink = 1,
)

Но я застрял при сборке tf_model_server из источника, используя базель. Выдает это сообщение об ошибке :

ERROR: /home/jake/Documents/serving/tensorflow_serving/custom_ops/grouping/BUILD:8:1: C++ compilation of rule '//tensorflow_serving/custom_ops/grouping:tf_grouping.so' failed (Exit 1)
tensorflow_serving/custom_ops/grouping/tf_grouping.cc:10:26: fatal error: cuda_runtime.h: No such file or directory
compilation terminated.
INFO: Elapsed time: 49.693s, Critical Path: 15.87s
INFO: 13 processes: 13 local.
FAILED: Build did NOT complete successfully

Я включил <cuda_runtime.h> в свою собственную операцию tf_grouping.cc . Я также написал файл tf_grouping.cu , содержащий ядра CUDA. Первоначально я просто использовал NVCC, чтобы сначала скомпилировать файл tf_grouping.cu и получить tf_grouping.cu.o . Затем я использовал g ++ для компиляции tf_grouping.cc с tf_grouping.cu.o , чтобы получить tf_grouping.so файл. Что мне теперь делать, если я хочу скомпилировать tf_model_server с поддержкой графического процессора?

...