3d-pose-baseline: cache_on_fail error

  1. Your operating system: Ubuntu 18.04
  2. Your tensorflow version: 1.13.1
  3. Your python version: 3.6.7
  4. The stack trace of the error that you see

I am using @ArashHosseini 's version (using it with tf-pose-estimation), and I get a cache_on_fail error:

data/h36m/S11/MyPoses/3D_positions/WalkTogether.h5
/3d-pose-baseline/src/data_utils.py:462: FutureWarning: arrays to stack must be passed as a "sequence" type such as list or tuple. Support for non-sequence iterables such as generators is deprecated as of NumPy 1.16 and will raise an error in the future.
  complete_train = copy.deepcopy( np.vstack( train_set.values() ))
2019-06-18 00:26:56.096188: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-06-18 00:26:58.450485: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x2d45eb0 executing computations on platform CUDA. Devices:
2019-06-18 00:26:58.450595: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): Tesla K40m, Compute Capability 3.5
2019-06-18 00:26:58.454522: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2200025000 Hz
2019-06-18 00:26:58.461810: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x2dfb080 executing computations on platform Host. Devices:
2019-06-18 00:26:58.461875: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): <undefined>, <undefined>
2019-06-18 00:26:58.462975: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties: 
name: Tesla K40m major: 3 minor: 5 memoryClockRate(GHz): 0.745
pciBusID: 0000:02:00.0
totalMemory: 11.17GiB freeMemory: 11.10GiB
2019-06-18 00:26:58.463045: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-06-18 00:26:58.464870: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-06-18 00:26:58.464909: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0 
2019-06-18 00:26:58.464931: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N 
2019-06-18 00:26:58.465852: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 10798 MB memory) -> physical GPU (device: 0, name: Tesla K40m, pci bus id: 0000:02:00.0, compute capability: 3.5)
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
WARNING:tensorflow:From /3d-pose-baseline/src/linear_model.py:112: batch_normalization (from tensorflow.python.layers.normalization) is deprecated and will be removed in a future version.
Instructions for updating:
Use keras.layers.batch_normalization instead.
WARNING:tensorflow:From /3d-pose-baseline/src/linear_model.py:112: batch_normalization (from tensorflow.python.layers.normalization) is deprecated and will be removed in a future version.
Instructions for updating:
Use keras.layers.batch_normalization instead.
WARNING:tensorflow:From /3d-pose-baseline/src/linear_model.py:114: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
WARNING:tensorflow:From /3d-pose-baseline/src/linear_model.py:114: calling dropout (from tensorflow.python.ops.nn_ops) with keep_prob is deprecated and will be removed in a future version.
Instructions for updating:
Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.cast instead.
train_dir experiments/All/dropout_0.5/epochs_200/lr_0.001/residual/depth_2/linear_size1024/batch_size_64/no_procrustes/maxnorm/batch_normalization/use_stacked_hourglass/predict_17
Loading model experiments/All/dropout_0.5/epochs_200/lr_0.001/residual/depth_2/linear_size1024/batch_size_64/no_procrustes/maxnorm/batch_normalization/use_stacked_hourglass/predict_17/checkpoint-4874200
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/training/saver.py:1266: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.
Instructions for updating:
Use standard file APIs to check for files with this prefix.
WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/training/saver.py:1266: checkpoint_exists (from tensorflow.python.training.checkpoint_management) is deprecated and will be removed in a future version.
Instructions for updating:
Use standard file APIs to check for files with this prefix.
INFO:tensorflow:Restoring parameters from experiments/All/dropout_0.5/epochs_200/lr_0.001/residual/depth_2/linear_size1024/batch_size_64/no_procrustes/maxnorm/batch_normalization/use_stacked_hourglass/predict_17/checkpoint-4874200
INFO:tensorflow:Restoring parameters from experiments/All/dropout_0.5/epochs_200/lr_0.001/residual/depth_2/linear_size1024/batch_size_64/no_procrustes/maxnorm/batch_normalization/use_stacked_hourglass/predict_17/checkpoint-4874200
INFO:__main__:calc frame 0/187
2019-06-18 00:27:01.293396: I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally
Traceback (most recent call last):
  File "src/tf-pose-estimation_3dpose_sandbox.py", line 444, in <module>
    tf.app.run()
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/app.py", line 125, in run
    _sys.exit(main(argv))
  File "src/tf-pose-estimation_3dpose_sandbox.py", line 388, in main
    if FLAGS.cache_on_fail:
  File "/usr/local/lib/python3.6/dist-packages/tensorflow/python/platform/flags.py", line 85, in __getattr__
    return wrapped.__getattr__(name)
  File "/usr/local/lib/python3.6/dist-packages/absl/flags/_flagvalues.py", line 473, in __getattr__
    raise AttributeError(name)
AttributeError: cache_on_fail

The code are downloaded directly from ArashHosseini’s github, the only change I have made is in line 56 of openpose_3dpose_sandbox.py: _data = data["people"][0]["pose_keypoints"] to _data = data["people"][0]["pose_keypoints_2d"]

Based on the output of both OpenPose and tf-pose-estimation.

I can include the original images/json outputs/rendered outputs from OpenPose if required.

Command used: python3 src/tf-pose-estimation_3dpose_sandbox.py --camera_frame --residual --batch_norm --dropout 0.5 --max_norm --evaluateActionWise --use_sh --epochs 200 --load 4874200 --pose_estimation_json /data/3d-pose-baseline/MM_json/ --write_gif --gif_fps 30

About this issue

Most upvoted comments

Hi Arash, thanks for the help.

How does 3d-pose-baseline deal with two or more people in view? Also, am I correct in assuming that if no data is detected for any frame that the program will not run through, as indicated by the following error:

File “src/openpose_3dpose_sandbox.py”, line 56, in read_openpose_json _data = data[“people”][0][“pose_keypoints_2d”] if “pose_keypoints_2d” in data[“people”][0] else data[“people”][0][“pose_keypoints”] IndexError: list index out of range

@ArashHosseini

hi ,i can’t run python .\maya\maya_skeleton.py

because, maya module not true install. no matter python2.7 、 python3.5 、 python3.6 code: import maya.cmds as cmds import maya.OpenMaya as om

will ↓↓↓ No module named cmds No module named OpenMaya

Can you write it in another module? or

How could I split the arrays in the 3d_data to joint centers such as leftankle: X, Y, Z, righthip: X, Y, Z etc. ? question. More detailed description. like

CMD-openpose-output.md#keypoint-ordering

thk @ArashHosseini

@Montage-LSM i think frame 0 is missing, try to rename your json files with 0 like str(0).zfill(12).json or where are json’s coming from? Naming convention looks like: 000000000000_keypoints.json, 000000000001_keypoints.json, … 109 object’s are coming from the usage of the --interpolation flag, see in folder gif_output for png graphs, remove it to keep all thx

How is this for a dataset? Was in T-pose for a couple of seconds

tmp2.zip

update: For the above set, I removed the nulls and I have output in 3d_maya,

side note, if i dont remove “ax.set_aspect(‘equal’)” from viz.py (line 55), I get this error:

'It is not currently possible to manually set the aspect ’ NotImplementedError: It is not currently possible to manually set the aspect on 3D axes

I assume this is just a visualization error.

Below is the updated keypoints anfd resulting 3d coordinates file: tmp2.zip

3d_data.zip

How could I split the arrays in the 3d_data to joint centers such as leftankle: X, Y, Z, righthip: X, Y, Z etc. ?