Подтвердить что ты не робот

Версия 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!'
4b9b3361

Ответ 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