首页 > 解决方案 > TensorFlow 在 win10 上构建失败(错误 C2338)

问题描述

我尝试在 win10 上构建 TensorFlow。来源下载 2018 年 11 月 2 日。错误

C:\Program Files (x86)\Windows Kits\10\include\10.0.17134.0\ucrt\assert.h .\tensorflow/compiler/tf2xla/cpu_function_runtime.h(71):错误 C2338:

std::pair<uint64, uint64> Encode() const {
static_assert(sizeof(*this) == 16, ""); <----- assert
uint64 upper = Pack(kind(), size_);
uint64 lower = entry_param_number_;
return {upper, lower};

}

Bazel 配置

build:xla --define with_xla_support=true
build --config=xla
build --action_env TF_NEED_OPENCL_SYCL="0"
build --action_env TF_NEED_ROCM="0"
build --action_env TF_NEED_CUDA="1"
build --action_env CUDA_TOOLKIT_PATH="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2"
build --action_env TF_CUDA_VERSION="9.2"
build --action_env CUDNN_INSTALL_PATH="c:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v9.2"
build --action_env TF_CUDNN_VERSION="7"
build --action_env TF_CUDA_COMPUTE_CAPABILITIES="6.1"
build --action_env TF_CUDA_CLANG="0"
build --config=cuda
test --config=cuda
build:opt --copt=/arch:AVX
build:opt --define with_default_optimizations=true
build --config monolithic
build --copt=-w --host_copt=-w
build --verbose_failures
build --distinct_host_configuration=false
build --experimental_shortened_obj_file_path=true
build:v2 --define=tf_api_version=2

标签: tensorflowbuild

解决方案


有几件事要看:

1.) 看起来您是在告诉编译器在与 CUDA 相同的路径中查找 cuDNN。我单独下载了 cuDNN 并将其解压缩到 C:\tools\Cuda\

2.) 我遇到了与此类似的错误,我将 cuDNN 版本设置为 7.3.1(不仅仅是 7)并选择不使用 C++ eigen bypass。


推荐阅读