web-dev-qa-db-ja.com

tensorflowエラーこのファイルには、ISO C ++ 2011標準のコンパイラとライブラリのサポートが必要です

結果は以下です、プロジェクトstylegan2を実行しますが、失敗します。だから私は助けが必要です。リンクは https://github.com/NVlabs/stylegan2 です。

File "/home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/network.py",    line 154, in _init_graph    out_expr = self._build_func(*self.input_templates, **build_kwargs)   
File "<string>", line 491, in G_synthesis_stylegan2   File "<string>", line 455, in layer   
File "<string>", line 99, in    modulated_conv2d_layer   File "<string>", line 68, in apply_bias_act     
File    "/home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/ops/fused_bias_act.py",    line 68, in fused_bias_act    return impl_dict[impl](x=x, b=b, axis=axis, act=act, alpha=alpha, gain=gain)   
File    "/home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/ops/fused_bias_act.py",    line 122, in _fused_bias_act_cuda    cuda_kernel = _get_plugin().fused_bias_act   
File "/home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/ops/fused_bias_act.py",    line 16, in _get_plugin    return custom_ops.get_plugin(os.path.splitext(__file__)[0] + '.cu')   
File    "/home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/custom_ops.py",    line 111, in get_plugin    _run_cmd(_prepare_nvcc_cli('"%s" --preprocess -o "%s" --keep --keep-dir "%s"' % (cuda_file, tmp_file, tmp_dir)))   
File "/home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/custom_ops.py",    line 61, in _run_cmd    raise RuntimeError('NVCC returned an error. See below for full command line and output log:\n\n%s\n\n%s' % (cmd, output))    RuntimeError: NVCC returned an error. See below for full command line    and output log:
   nvcc    "/home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/ops/fused_bias_act.cu"    --preprocess -o "/tmp/tmph2fk0y_4/fused_bias_act_tmp.cu" --keep --keep-dir "/tmp/tmph2fk0y_4" --disable-warnings --include-path "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tensorflow_core/include"    
--include-path "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tensorflow_core/include/external/protobuf_archive/src"    
--include-path "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tensorflow_core/include/external/com_google_absl"    
--include-path "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tensorflow_core/include/external/eigen_archive"    2>&1
   In file 
included from /usr/include/c++/5/unordered_map:35:0,
            from /home/ubuntu/anaconda3/lib/python3.7/site-packages/tensorflow_core/include/tensorflow/core/framework/op.h:20,
            from /home/ubuntu/workspaces/workspace_lsh/stylegan2/dnnlib/tflib/ops/fused_bias_act.cu:9:    
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file    requires compiler and library support for the ISO C++ 2011 standard.    This support must be enabled with the -std=c++11 or    -std=gnu++11 compiler options.  #error This file requires compiler and library support \   ^ In file included from    /home/ubuntu/anaconda3/lib/python3.7/site-packages/tensorflow_core/include/absl/base/config.h:66:0,
/home/ubuntu/anaconda3/lib/python3.7/site-packages/tensorflow_core/include/absl/base/policy_checks.h:77:2:    error: #error "C++ versions less than C++11 are not supported."     #error "C++ versions less than C++11 are not supported."

私は助けが必要です。

2
hhhhhhhhhh

同じエラーが発生しました。厄介な回避策は、フラグを追加することでした--std=c++11および-DNDEBUG to nvcc呼び出し dnnlib/tflib/custom_ops.py ln 64

cmd = 'nvcc --std=c++11 -DNDEBUG ' + opts.strip()

--stdと-DNDEBUGの両方がなぜですか?

ただ--std=c++11から次のエラーが返されました。

RuntimeError:NVCCがエラーを返しました。完全なコマンドラインと出力ログについては、以下を参照してください。

nvcc --std = c ++ 11 "/usr/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so" --compiler-options '-fPIC -D_GLIBCXX_USE_CXX11_ABI = 0' --gpu-architecture = sm_75 --use_fast_math --disable-warnings --include-path "/usr/lib/python3.6/site-packages/tensorflow/include" --include-path "/usr/lib/python3.6/site-packages/tensorflow/include/external/protobuf_archive/src "--include-path" /usr/lib/python3.6/site-packages/tensorflow/include/external/com_google_absl "--include-path"/usr/lib/python3 .6/site-packages/tensorflow/include/external/eigen_archive "2>&1" /home/username/stylegan2/dnnlib/tflib/ops/fused_bias_act.cu "--shared -o" /tmp/tmp8nryqyhs/fused_bias_act_tmp.so "--keep --keep-dir"/tmp/tmp8nryqyhs "

/usr/lib/python3.6/site-packages/tensorflow/include/absl/strings/string_view.h(495):error:constexpr function return is non-constant

「/tmp/tmp8nryqyhs/fused_bias_act.cpp1.ii」のコンパイルで1つのエラーが検出されました。

フラグ-DNDEBUGこのgitスレッドで説明されているように

解決策は醜く、作者がより多くの入力オプションまたは何かを与える(またはそれを行う方法を説明する)ことによって修正するのは素晴らしいでしょう。しかし、今のところはそれで十分です。

私の環境:

Python 3.6.9 
tensorflow.__version__
'1.14.0'

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
3
ana