Giter Club home page Giter Club logo

pointgpt's People

Contributors

cguangyan-bit 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pointgpt's Issues

What is the difference between the different PointGPT-S models?

Here are the different PointGPT-S models:

PointGPT-S Models

Task Dataset Config Acc. Download
Pre-training ShapeNet pretrain.yaml N.A. here
Classification ScanObjectNN finetune_scan_hardest.yaml 86.9% here
Classification ScanObjectNN finetune_scan_objbg.yaml 91.6% here
Classification ScanObjectNN finetune_scan_objonly.yaml 90.0% here
Classification ModelNet40(1k) finetune_modelnet.yaml 94.0% here
Classification ModelNet40(8k) finetune_modelnet_8k.yaml 94.2% here
Part segmentation ShapeNetPart segmentation 86.2% mIoU here

I thought all the classification models were trasfered to the ScanObjectNN dataset then evaluated against {OBJ_BG, OBJ_ONLY, PB_T50_RS, ModelNet40-1k, ModelNet40-8k}. So why is there five different links for classification models? Shouldn't there be only one link because they were all transfer learned on ScanObjectNN?

Please let me know where I have misunderstood. Thanks.

Problem in Multi card finetune

Hello! I am fascinated by your great idea and have been experimenting with your code, but I found that there might be some problems with your function of multicard finetuning:
if "--launcher" is set to none and set two or more GPUs like CUDA_VISIBLE_DEVICES=0,1, NaN problems will occur in the first epoch"NaN or Inf found in input tensor"
if "--launcher" is set to "pytorch", errors about environmental variables like "RANK" not defined or "WORLD_SIZE" not define will be raised. In the corresponding block, I found a "TO DO"

Have you met the problem when doing the experiment yourselves? Please tell me how it shall be solved, and how tour DDP can be used? Thanks!

question about the results of pretrian and finetune process

Hi,

Thanks for the great work.
I pretrained the network on ShapeNet, but only got a loss of around 30%, is this normal? I got a loss of 2% when I pretrained with pointMAE.
Also, I tried to finetune on ModelNet, but got an error as followed:
Traceback (most recent call last):
File "main.py", line 95, in
main()
File "main.py", line 89, in main
finetune(args, config, train_writer, val_writer)
File "/home/pointGPT/PointGPT/tools/runner_finetune.py", line 176, in run_net
losses.update([torch.ones_like(loss1).item()])
ValueError: only one element tensors can be converted to Python scalars

I'm just wondering what i'm missing here. Thanks a lot!

Multi GPU pretraining

Hi,

Which command should be used to start the pretraining on multiple GPUs? I guessed from looking at the code, that the parameter --launcher pytorch needs to be set. Is there something else to set like environment variables etc?

Best,
Hugues

Question about post-pretraining

Thanks for the great work.
I have two questions about the post-pretraining.

  1. I notice the current codebase does not suppport the LabeledHybrid dataset. Could you please give more description on this dataset and how do you do you this dataset for the post-pretraining (e.g., the loss design)?

  2. Without the post-pretraining, how much performance will drop for the PointGPT-B and PointGPT-L?

How long did it take to train PointGPT?

  • How long did it take to do the auto-regressive SSL pretraining and on what hardware?
  • How long did it take to do the post-pretraining and on what hardware?

Thank you.

The structure of UHD and LHD

Hello, I'm new in the field of analysis of Point Cloud.

And I wonder how I should organize the structure of dataset UHD and LHD after downloading the zip file you have provided.

When I only unzip HybridDatasets and put it in ./data/HybridDatasets and then start to pretrain ,it show the error that"FileNotFoundError: UnlabeledHybrid: [Errno 2] No such file or directory: 'data/HybridDatasets/pretrain/train.txt'".

Wish for response!

Pretrained and Post-pretrained PointGPT-B files

Hello,

Thank you so much for your work on PointGPT and for making the pretrained models availble! I was doing some experiments with your work, and I noticed that the download links for the pretrained and post-pretrained PointGPT-B models are the same (both are linked to the pretrained.pth file), so I just wanted to let you know about that :)

Fine-tuning on ScanObjectNN

Hi Thanks for released the code
I wonder know how to fine tune ScanObjectNN

I haved Pre-train on ShapeNet
and used CUDA_VISIBLE_DEVICES= python main.py --config cfgs/finetune_scan_hardest.yaml
--finetune_model --exp_name <output_file_name> --ckpts <path/to/pre-trained/model>

But different class number ShapeNet is 40 and ScanObjectNN is 15
and num_group are different Pre-train is 64, but fine tune ScanObjectNN is 128

Thanks alot~

error is below

size mismatch for blocks.cls_head_finetune.8.weight: copying a param with shape torch.Size([40, 256]) from checkpoint, the shape in current model is torch.Size([15, 256]).
size mismatch for blocks.cls_head_finetune.8.bias: copying a param with shape torch.Size([40]) from checkpoint, the shape in current model is torch.Size([15])

About classification

Hi!
Please tell me how to classify using a model that has been fine-tuned.
Please tell me what to change.
Thank you.

fresh bird ask a code question

in this file PointGPT-1.2\extensions\emd\cuda\emd_kernel.cu
I get a wrong "error: command 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin\nvcc.exe' failed with exit code 1" when I make

 cd ./extensions/emd
python setup.py install --user

but,I found a way through a random query
for example,I changed code

#ifndef _EMD_KERNEL
#define _EMD_KERNEL

#include <cmath>
#include <vector>

#include <ATen/ATen.h>
#include <ATen/cuda/CUDAApplyUtils.cuh>  // at::cuda::getApplyGrid
// #include <THC/THC.h>

#define CHECK_CUDA(x) TORCH_CHECK(x.type().is_cuda(), #x " must be a CUDA tensor")
#define CHECK_CONTIGUOUS(x) TORCH_CHECK(x.is_contiguous(), #x " must be contiguous")
#define CHECK_INPUT(x) CHECK_CUDA(x); CHECK_CONTIGUOUS(x)
#ifndef CHECK_EQ
#define CHECK_EQ(a, b) assert((a) == (b))
#endif

Because I'm still a rookie in code and deep learning,so I can't know whether I accurately do it or not(and my English is not very good,but I am really interested in your code,I would appreciate it if you could give me some advice,thank you very much )

No scaling factor for RDP.

In the paper you describe the relative direction prompt in equation 5 as $RDP_i = \textrm{PE}((\mathbf{C}_{i+1}^s - \mathbf{C}_i^s) / \parallel \mathbf{C} _{i+1}^s - \mathbf{C} _i^s \parallel_2), \quad i \in \{ 1, \dots, n' \}$.

However, in the code I cannot find such scaling factor and it looks like you actually just do $RDP_i = \textrm{PE}(\mathbf{C} _{i+1}^s - \mathbf{C} _i^s)$.

The relevant lines of code are https://github.com/CGuangyan-BIT/PointGPT/blob/a8bdf85ad469615b3e462a187474d36929a6bbfb/models/PointGPT.py#L380C1-L386C57 and https://github.com/CGuangyan-BIT/PointGPT/blob/a8bdf85ad469615b3e462a187474d36929a6bbfb/models/PointGPT.py#L642C1-L647C1

Does this mean you actually use a relative position prompt instead of a relative direction prompt? Is there a mistake in the paper, is there a mistake in the code, or am I missing something?

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.