Mohamed Ali JAMAOUI
Mohamed Ali JAMAOUI

Reputation: 14699

is tensorflow.train.threading.Thread no longer supported?

I am playing with the code from https://github.com/Russell91/TensorBox But it's failing to run with GPU, here the results of the run

TensorBox$ python train.py --hypes hypes/overfeat_rezoom.json --gpu 0 --logdir output
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: Quadro M4000
major: 5 minor: 2 memoryClockRate (GHz) 0.7725
pciBusID 0000:02:00.0
Total memory: 7.93GiB
Free memory: 7.63GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: Quadro M4000, pci bus id: 0000:02:00.0)
Traceback (most recent call last):
  File "train.py", line 537, in <module>
    main()
  File "train.py", line 534, in main
    train(H, test_images=[])
  File "train.py", line 457, in train
    t = tf.train.threading.Thread(target=thread_loop,
AttributeError: 'module' object has no attribute 'threading'

Did tensorflow change the way it handles threads? Otherwise, what am I doing wrong?

Upvotes: 0

Views: 156

Answers (1)

mrry
mrry

Reputation: 126184

TL;DR: Change it to threading.Thread.

The import tensorflow.train.threading.Thread was never officially part of the API, but rather it was accessible because we weren't cautious about what symbols were visible through the TensorFlow module. As we move towards a stable release, we're clamping down on such undocumented inclusions, by using techniques like Python's __all__ to define the precise contents of modules.

Upvotes: 1

Related Questions