Giter Site home page Giter Site logo

dgriffiths3 / pointnet2-tensorflow2 Goto Github PK

View Code? Open in Web Editor NEW
91.0 7.0 41.0 170 KB

Pointnet++ modules implemented as tensorflow 2 keras layers.

Python 32.56% C++ 49.38% Shell 1.52% Cuda 16.53%
deep-learning point-cloud classification segmentation tensorflow tensorflow2 pointnet pointnet2

pointnet2-tensorflow2's Introduction

Pointnet++ tensorflow 2.0 layers

Note: For the newer PointConv layers in tensorflow 2.x visit the repostiory here.

The repository contains implementations of the pointnet++ set abstraction and feature propagation layers as tf.keras.layers classes. The intention is not to be a full pointnet++ tensorflow 2.0 implementation, but provide an easy way to build a pointnet++ style network architecture using the tensorflow 2.0 keras api. For reference here is the original paper and code. Where possible I have tried to directly copy and paste original code to avoid discrepancies.

Setup

Requirements:

  • python >= 3.0+
  • tensorflow-gpu >= 2.2+
  • cuda == 10.1

Note: This repository uses the train_step model override which is new for tensorflow 2.2.0, as such if you wish to use the provided training scripts it is important your tensorflow is not an older version. The layers will work for tensorflow 2.0+.

To compile the tensorflow Ops first ensure the CUDA_ROOT path in tf_ops/compile_ops.sh points correctly to you cuda folder then compile the ops with:

chmod u+x tf_ops/compile_ops.sh
tf_ops/compile_ops.sh

Usage

The layers should work as direct replacements for standard tf.keras.layers layers, most similarly Conv2D. To import just run from pnet2_layers.layers import <LAYER_NAME>. To use in your own project just copy the pnet2_layers folder into your project structure and locate with either relative or absolute imports.

For example, to mimic the pointnet2_cls_ssg model in the original repository as a custom model, it would look like:

import tensorflow
from pnet2_layers.layers import Pointnet_SA

class CLS_SSG_Model(tf.keras.Model)

  def __init__(self, batch_size, activation=tf.nn.relu):
    super(Pointnet2Encoder, self).__init__()

    self.batch_size = batch_size

    self.layer1 = Pointnet_SA(npoint=512, radius=0.2, nsample=32, mlp=[64, 64, 128], group_all=False, activation=self.activation)
    self.layer1 = Pointnet_SA(npoint=128, radius=0.4, nsample=32, mlp=[128, 128, 256], group_all=False, activation=self.activation)
    self.layer1 = Pointnet_SA(npoint=None, radius=None, nsample=None, mlp=[256, 512, 1024], group_all=False, activation=self.activation)

    # The rest of the model can be implemented using standard tf.keras.layers (Dense and dropout).

  def call():

    xyz, points = self.layer1(input, None)
    xyz, points = self.layer2(xyz, points)
    xyz, points = self.layer3(xyz, points)

    points = tf.reshape(points, (self.batch_size, -1))

    # run points through dense / dropout layers.

    return points

Examples of a few of the models from the original repository can be found in the models folder.

To run the ModelNet or ScanNet example first download the tfrecords containing the training data from here and place in a folder called data. To start the training script run either:

python train_modelnet.py

or:

python train_scannet.py

You can view training logs with:

tensorboard --logdir=logs --port=6006

and navigate to localhost:6006 in a web browser.

By default this runs the multi-scale grouping modules. To run the standard set abstraction layer without multi-scale grouping, set msg to False in the params dictionary.

Notes

I have implemented batch normalization for all pointnet++ layers in the model files. I personally find I get better results on real world datasets when this option is set to False. In the original implementation this batch normalization is set to True.

If you use this repository and find any bugs please submit an issue so I can fix them for anyone else using the code.

pointnet2-tensorflow2's People

Contributors

dgriffiths3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pointnet2-tensorflow2's Issues

loading tf_ops results Segmentation fault (core dumped)

environment:
Centos 7
Python 3.6.8
TensorFlow-GPU 2.2.0
Cuda 10.1
Cudnn 7.6.5
GCC 4.8.5

While using tf.load_op_library() to load tf_ops files in cpp_modules.py, it reports a error Segmentation fault (core dumped). And I've tried to use tf-1.+ to load the ops, it also reports the same error. The ops have been compiled under the above environments.

Training my own dataset (radar point dataset) failed

Hi,

I'd like first of all to thank you for publishing your code, it's very helpful. I am currently trying to train my own dataset using PointNet++ and semantic segmentation model. I tried to convert my data(data that I split myself into training and validation )to tf record.
I have labels for training and validation and also points for training and validation, both into arrays.
Labels is an np array containing the indexes of labels of type int64 and Points is an np.array containing points corresponding to each label of type float32

This way:

def tables_to_TF( Label,Points,tf_filename):
    
    filepath = os.path.join(tf_filename)
    print('Writing', filepath)
    writer = tf.io.TFRecordWriter(tf_filename)
    example = tf.train.Example(
            features=tf.train.Features(feature={
            'Points': _float_feature(Points),
            'Labels': _int64_feature(Label),
            
                }) 
                    )
    
    writer.write(example.SerializeToString())

But loading the data does not work, I get can't sparse serialized Example.
Now when trying to train the dataset using your code I get this:

image

I don't understand why it does not work and why the conversion doesn't work. I'm stuck and I have tried everything but could not resolve the problem.

It will be very kind of you if you could help me. I'm counting on your help.

Thank you in advance.

Kind regards!

Error running the code with cuda 11.8

I tried to compile tf_ops with cuda 11.8 and -std=c++17. When I run the train code I get this error. How can I fix it?

Traceback (most recent call last):
File "pointnet2-tensorflow2/train_scannet.py", line 12, in
from models.sem_seg_model import SEM_SEG_Model
File "pointnet2-tensorflow2/./models/sem_seg_model.py", line 10, in
from pnet2_layers.layers import Pointnet_SA, Pointnet_FP
File "pointnet2-tensorflow2/./pnet2_layers/layers.py", line 4, in
from . import utils
File "pointnet2-tensorflow2/./pnet2_layers/utils.py", line 8, in
from .cpp_modules import (
File "pointnet2-tensorflow2/./pnet2_layers/cpp_modules.py", line 9, in
sampling_module=tf.load_op_library('./tf_ops/sampling/tf_sampling_so.so')
File "/home/francesco/.local/lib/python3.10/site-packages/tensorflow/python/framework/load_library.py", line 54, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: ./tf_ops/sampling/tf_sampling_so.so: undefined symbol: _ZN10tensorflow14kernel_factory17OpKernelRegistrar12InitInternalEPKNS_9KernelDefESt17basic_string_viewIcSt11char_traitsIcEESt10unique_ptrINS0_15OpKernelFactoryESt14default_deleteISA_EE

'train_modelnet.py' seems to infinitely train and overfit model.

Hello,
I'm not sure if I configured the environment incorrectly or something else, but when I run train_modelnet.py, the script runs without ever seeming to stop. If I keyboard interrupt it and view the logs in TensorBoard, it appears that the model severely overfits? I'm not sure if I missed something or if this is intentional behaviour for the test script. Thanks for the help! Please let me know if you need more information.

Environment

  • Ubuntu 16.04
  • nvidia-docker 19.03.5, build 633a0ea838
    • Using tensorflow/tensorflow:latest-devel-gpu
  • Python3 3.6.9
  • CUDA 10.1
  • Tensorflow 2.1.0

Steps to recreate

  • Create docker instance
    • Mount folder instance
    • Run compile_ops.sh
    • Download tfrecords for modelnet
  • Run train_modelnet.py

Output

root@ubuntu:/pointnet# python3 train_modelnet.py 
Model: "cls_ssg__model"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
pointnet_sa (Pointnet_SA)    multiple                  12480     
_________________________________________________________________
pointnet_sa_1 (Pointnet_SA)  multiple                  65920     
_________________________________________________________________
pointnet_sa_2 (Pointnet_SA)  multiple                  721664    
_________________________________________________________________
dense (Dense)                multiple                  524800    
_________________________________________________________________
dropout (Dropout)            multiple                  0         
_________________________________________________________________
dense_1 (Dense)              multiple                  65664     
_________________________________________________________________
dropout_1 (Dropout)          multiple                  0         
_________________________________________________________________
dense_2 (Dense)              multiple                  5160      
=================================================================
Total params: 1,395,688
Trainable params: 1,395,688
Non-trainable params: 0
_________________________________________________________________
None
[info] model training...
^CTraceback (most recent call last):
  File "train_modelnet.py", line 138, in <module>
    train(config, params)
  File "train_modelnet.py", line 90, in train
    train_labels
  File "train_modelnet.py", line 31, in train_step
    optimizer.apply_gradients(zip(gradients, model.trainable_variables))
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/optimizer_v2/optimizer_v2.py", line 444, in apply_gradients
    kwargs={"name": name})
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/distribute/distribute_lib.py", line 1949, in merge_call
    return self._merge_call(merge_fn, args, kwargs)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/distribute/distribute_lib.py", line 1956, in _merge_call
    return merge_fn(self._strategy, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/keras/optimizer_v2/optimizer_v2.py", line 500, in _distributed_apply
    return self._iterations.assign_add(1)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/resource_variable_ops.py", line 786, in assign_add
    name=name)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/gen_resource_variable_ops.py", line 44, in assign_add_variable_op
    tld.op_callbacks, resource, value)
KeyboardInterrupt

Selection_001

Model prediction

How can i make predictions with model.predict()? Can you please provide some sample code which i can place directly below the model.fit function for predicting a single point cloud and a batch of point clouds (by using the data stored within val_ds for instance). Thanks in advance!

how to change cpp_wrappers(https://github.com/HuguesTHOMAS/KPConv/tree/master/cpp_wrappers) in the KPConv that can be compiled by tensorflow2?

Thank you for your great work Pointnet2-tensorflow2, I think this is a very meaningful work. I have a question to ask you, how to change cpp_wrappers(https://github.com/HuguesTHOMAS/KPConv/tree/master/cpp_wrappers) in the KPConv that can be compiled by tensorflow2?How can I change this compiler to make tensorflow2 compile it? I tried it many times and couldn't complete it. Can you help me modify cpp_wrappers so that it can compile it with tensorflow2?
Now this package can only be compiled only under tensorflow1, because my environment is based on tensorflow2, cuda11.0, if you can help me modify it so that it can be compiled under tensorflow2, I will thank you very much. Looking forward to your reply.

Model cannot be saved

Model <model_modelnet.PointConvModel object at 0x7f1cc50f95b0> cannot be saved because the input shapes have not been set. Usually, input shapes are automatically determined from calling .fit() or .predict(). To manually set the shapes, call model.build(input_shape).

cuda=11.2
tensorflow=2.5
python=3.8

Compilation error in tf_ops

I tried to compile tf_ops/compile_ops.sh, but a compilation error occurred when I run it.

Docker container
Ubuntu 18.04.3 LTS
Kernel 5.0.0-37-generic
cuDNN 7.6.2.24-1
CUDA 10.0.130
Python 3.6.8
tensorflow-gpu 2.0.0
gcc 7.4.0

Host System
Ubuntu 16.04.3 LTS
Kernel 5.0.0-37-generic
NVIDIA driver 435.21

Error message

Click to expand

./3d_interpolation/tf_interpolate.cpp:29:44: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
         c->WithRank(c->input(0), 3, &dims1);
                                            ^
In file included from ./3d_interpolation/tf_interpolate.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./3d_interpolation/tf_interpolate.cpp:31:44: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
         c->WithRank(c->input(1), 3, &dims2);
                                            ^
In file included from ./3d_interpolation/tf_interpolate.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./grouping/tf_grouping.cpp: In lambda function:
./grouping/tf_grouping.cpp:22:44: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
         c->WithRank(c->input(1), 3, &dims2);
                                            ^
In file included from ./grouping/tf_grouping.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./grouping/tf_grouping.cpp: In lambda function:
./grouping/tf_grouping.cpp:47:44: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
         c->WithRank(c->input(0), 3, &dims1);
                                            ^
In file included from ./grouping/tf_grouping.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./grouping/tf_grouping.cpp:49:44: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
         c->WithRank(c->input(1), 3, &dims2);
                                            ^
In file included from ./grouping/tf_grouping.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./sampling/tf_sampling.cpp: In lambda function:
./sampling/tf_sampling.cpp:20:40: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
     c->WithRank(c->input(0), 2, &dims1);
                                        ^
In file included from ./sampling/tf_sampling.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./sampling/tf_sampling.cpp:22:40: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
     c->WithRank(c->input(1), 2, &dims2);
                                        ^
In file included from ./sampling/tf_sampling.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./sampling/tf_sampling.cpp: In lambda function:
./sampling/tf_sampling.cpp:34:40: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
     c->WithRank(c->input(0), 3, &dims1);
                                        ^
In file included from ./sampling/tf_sampling.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./sampling/tf_sampling.cpp: In lambda function:
./sampling/tf_sampling.cpp:47:40: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
     c->WithRank(c->input(0), 3, &dims1);
                                        ^
In file included from ./sampling/tf_sampling.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,
          ^~~~~~~~
./sampling/tf_sampling.cpp:49:40: warning: ignoring return value of ‘tensorflow::Status tensorflow::shape_inference::InferenceContext::WithRank(tensorflow::shape_inference::ShapeHandle, tensorflow::int64, tensorflow::shape_inference::ShapeHandle*)’, declared with attribute warn_unused_result [-Wunused-result]
     c->WithRank(c->input(1), 2, &dims2);
                                        ^
In file included from ./sampling/tf_sampling.cpp:8:0:
/usr/local/lib/python3.6/dist-packages/tensorflow_core/include/tensorflow/core/framework/shape_inference.h:394:10: note: declared here
   Status WithRank(ShapeHandle shape, int64 rank,

Thanks

train_scannnet

None
Epoch 1/100
Traceback (most recent call last):
File "train_scannet.py", line 105, in
train()
File "train_scannet.py", line 87, in train
verbose=1
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 66, in _method_wrapper
return method(self, *args, **kwargs)
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py", line 848, in fit
tmp_logs = train_function(iterator)
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/eager/def_function.py", line 580, in call
result = self._call(*args, **kwds)
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/eager/def_function.py", line 644, in _call
return self._stateless_fn(*args, **kwds)
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 2420, in call
return graph_function._filtered_call(args, kwargs) # pylint: disable=protected-access
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 1665, in _filtered_call
self.captured_inputs)
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 1746, in _call_flat
ctx, args, cancellation_manager=cancellation_manager))
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/eager/function.py", line 598, in call
ctx=ctx)
File "/home/amax/anaconda3/envs/pointnetch/lib/python3.6/site-packages/tensorflow/python/eager/execute.py", line 60, in quick_execute
inputs, attrs, num_outputs)
tensorflow.python.framework.errors_impl.InvalidArgumentError: No OpKernel was registered to support Op 'FarthestPointSample' used by {{node pointnet_sa/FarthestPointSample}} with these attrs: [npoint=1024]
Registered devices: [CPU, XLA_CPU]
Registered kernels:
device='GPU'

     [[pointnet_sa/FarthestPointSample]] [Op:__inference_train_function_2421]

Features of the points

Hi,
some time ago there was already a issue about adding features to points. Which would mean having shape (npoints, 4) e.g. Currently this leads to an error, but is supported by the original pointnet++ code. Is it possible to add a feature in this implementation?

Thanks!

Is there any way I can use it with our dataset?

Hello.
We now have n x 3 data in NumPy.
But when I looked for your project, it used tfrecord. So I'm looking for code to convert our data to tfrecord and it's not easy. Any advice on how to approach it? Thank you.

'undefined symbol' error

When loading my compiled tf_sampling_so.so, I get the following strange error:

undefined symbol: _ZN10tensorflow8OpKernel11TraceStringEPNS_15OpKernelContextEb

From googling it seems it may be related to a problem in an obscure and essentially-unused file tensorflow/core/kernels/libtfkernel_sobol_op.so. I have tried removing that file and recompiling the operations but the issue persists. Has anyone else run into this issue, or perhaps have ideas for other things to try?

Versions:

  • Python: 3.8.12
  • Tensorflow: 2.2.0 gpu (from conda)
  • Cuda: 10.1 (downloaded from Nvidia)

about point features

hello, every point don't have feature in the modelnet example scripts, can i add the feature for the point in my research? Your implement of pointNet2 is supporting this operation ? Thank you vary much!

Issue Importing tf_sampling_so.so

Hello,
I have followed the steps in the README and compiled the .so shared object libraries for tf_ops. However, my issue is that when I run `python train_modelnet.py' I get the following error:

----------ERROR START-------------
(base) abhii@Ava:~/sandbox/area/python/pointnet2-tensorflow2$ python train_modelnet.py
Traceback (most recent call last):
File "train_modelnet.py", line 12, in
from models.cls_msg_model import CLS_MSG_Model
File "./models/cls_msg_model.py", line 10, in
from pnet2_layers.layers import Pointnet_SA, Pointnet_SA_MSG
File "./pnet2_layers/layers.py", line 4, in
from . import utils
File "./pnet2_layers/utils.py", line 8, in
from .cpp_modules import (
File "./pnet2_layers/cpp_modules.py", line 9, in
sampling_module=tf.load_op_library('./tf_ops/sampling/tf_sampling_so.so')
File "/home/abhii/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/framework/load_library.py", line 61, in load_op_library
lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: ./tf_ops/sampling/tf_sampling_so.so: undefined symbol: __cudaPushCallConfiguration
----------ERROR END-------------

Seems like "__cudaPushCallConfiguration" is giving me some issues, any ideas on how to work through this? Thanks for the help.

Environment

Ubuntu 18.04
Python3 3.7.1
CUDA 10.0
Tensorflow 2.0.0
Steps to recreate

Run compile_ops.sh
Download tfrecords for modelnet
Run train_modelnet.py

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.