Версия TensorFlow версии 1.0.0-rc2 для Windows: "OpKernel (" op: "BestSplits" device_type: "CPU" ) для неизвестного оп: BestSplits "с тестовым кодом
Я установил TensorFlow версии 1.0.0-rc2 в Windows 7 SP1 x64 Ultimate (Python 3.5.2 | Anaconda custom (64-разрядная версия)), используя:
pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0rc2-cp35-cp35m-win_amd64.whl
Когда я запускаю тест script из https://web.archive.org/web/20170214034751/https://www.tensorflow.org/get_started/os_setup#test_the_tensorflow_installation в Eclipse 4.5 или в консоли:
import tensorflow as tf
print('TensorFlow version: {0}'.format(tf.__version__))
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
Я получаю сообщение об ошибке:
TensorFlow version: 1.0.0-rc2
'Hello, TensorFlow!'
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflob
w\core\framework\op_kernel.cc:943] OpKernel ('op: "BestSplits" device_type: "CPU"') for unknown op: BestSplits
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "CountExtremelyRandomStats" device_type: "CPU"') for unknown op: CountExtremelyRandomStats
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "FinishedNodes" device_type: "CPU"') for unknown op: FinishedNodes
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "GrowTree" device_type: "CPU"') for unknown op: GrowTree
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "ReinterpretStringToFloat" device_type: "CPU"') for unknown op: ReinterpretStringToFloat
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "SampleInputs" device_type: "CPU"') for unknown op: SampleInputs
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "ScatterAddNdim" device_type: "CPU"') for unknown op: ScatterAddNdim
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "TopNInsert" device_type: "CPU"') for unknown op: TopNInsert
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "TopNRemove" device_type: "CPU"') for unknown op: TopNRemove
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "TreePredictions" device_type: "CPU"') for unknown op: TreePredictions
E c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\framework\op_kernel.cc:943] OpKernel ('op: "UpdateFertileSlots" device_type: "CPU"') for unknown op: UpdateFertileSlots
Почему?
У меня не было таких проблем с TensorFlow 0.12.1 (установлено с pip install tensorflow==0.12.1
):
TensorFlow version: 0.12.1
b'Hello, TensorFlow!'
Ответы
Ответ 1
Установка сегодня ночная сборка (версия процессора):
pip install --upgrade http://ci.tensorflow.org/view/Nightly/job/nightly-win/85/DEVICE=cpu,OS=windows/artifact/cmake_build/tf_python/dist/tensorflow-1.0.0rc2-cp35-cp35m-win_amd64.whl
исправлена проблема (не более "OpKernel ('op: "BestSplits" device_type: "CPU"') for unknown op: BestSplits"
и т.д.).
Теперь есть некоторые предупреждения SSE:
TensorFlow version: 1.0.0-rc2
b'Hello, TensorFlow!'
2017-02-15 19:56:22.688266: W c:\tf_jenkins\home\workspace\nightly-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
2017-02-15 19:56:22.688266: W c:\tf_jenkins\home\workspace\nightly-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations.
2017-02-15 19:56:22.689266: W c:\tf_jenkins\home\workspace\nightly-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
2017-02-15 19:56:22.689266: W c:\tf_jenkins\home\workspace\nightly-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-02-15 19:56:22.689266: W c:\tf_jenkins\home\workspace\nightly-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-02-15 19:56:22.689266: W c:\tf_jenkins\home\workspace\nightly-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
В этом случае вы можете попробовать Как скомпилировать Tensorflow с инструкциями SSE4.2 и AVX?
TensorFlow 1.0.0 был выпущен несколько дней назад. Однако у него такая же проблема. В более поздней ночной сборке разные предупреждения:
sess = tf.Session()
2017-02-17 13:01:59.790943: W c:\tf_jenkins\home\workspace\nightly-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
FYI: двоичный файл Tensorflow macOS, скомпилированный с оптимизацией SSE4.1, SSE4.2 и AVX.
Чтобы скрыть предупреждения/ошибки, вы можете использовать os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
, например:
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
print('TensorFlow version: {0}'.format(tf.__version__))
hello = tf.constant('Hello, TensorFlow!')
sess = tf.Session()
print(sess.run(hello))
TF_CPP_MIN_LOG_LEVEL
:
-
0
: все отображаемые журналы (это значение по умолчанию)
-
1
: отфильтровать INFO
журналы
-
2
: дополнительно отфильтровать WARNING
журналы
-
3
: дополнительно отфильтровать журналы ERROR
.
Ответ 2
Ссылаясь на приведенные выше предложения, я думаю, что полезно сделать 2 шага:
1, обновить тензор:
pip install --upgrade tensorflow==1.1.0rc1
тогда журналы ошибок меняются в журналы предупреждений:
W c:\tf_jenkins\home\workspace\release-win\device\cpu\os\windows\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
2nd, вы можете подавить фильтр предупреждения на уровне 2.
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
Я думаю, что он работает хорошо, не фильтруя журналы ошибок.
Ответ 3
Вы можете подавить фильтр предупреждения на уровне 2. Это работало для меня с TensorFlow 1.0.1 в установке virtualenv.
os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2'
Рассматривайте дополнительный ответ, но я не могу комментировать.
Ответ 4
Кажется, проблема исправлена в версии 1.1.0rc0 и более поздних версиях.
Найдите последнюю версию тензорного потока:
pip search --version tensorflow
Обновление тензорного потока:
pip install --upgrade tensorflow==1.1.0rc1