This commit is contained in:
wang-ps 2021-02-03 10:40:23 +09:00
Родитель 4c2b82b1d2
Коммит eb7d2fb8a8
4 изменённых файлов: 10 добавлений и 9 удалений

Просмотреть файл

@ -32,7 +32,7 @@ If you use our code or models, please [cite](docs/citation.md) our paper.
### What's New?
- 2021.02.03: Release the code for ModelNet40 classification with HRNet.
- 2020.10.12: Release the initial version of our O-CNN under PyTorch. The code
has been tested with the [classification task](docs/classification.md#o-cnn-on-pytorch).
- 2020.08.16: We released our code for [3D unsupervised learning](docs/unsupervised.md).

Просмотреть файл

@ -139,8 +139,9 @@ the data automatically.
### Train a deep O-CNN-based HRNet
1. Change the working directory to `tensorflow/data`. Run the following command
to store the `points` into one `TFRecords` database. Here we also rotate the
upright axis of shapes from `z` axis to `y` axis.
to store the `points` into `TFRecords` databases with different ratios of
training data. Here we also rotate the upright axis of shapes from `z` axis
to `y` axis.
```shell
python cls_modelnet.py --run m40_generate_points_tfrecords_ratios
```

Просмотреть файл

@ -4,21 +4,21 @@
1. Download the data and pretrained weights with the following command.
```shell
cd tensorflow
python data/midnet_data.py
cd tensorflow/data
python midnet_data.py
```
2. Run the following command to train the network.
```shell
cd script
cd tensorflow/script
python run_mid.py --config configs/mid_hrnet_d6.yaml
```
## Finetune on ModelNet40
Follow the instructions [here](classification.md#train-a-deep-o-cnn-based-hrnet)
Follow the instructions [here](classification.md#prepare-the-point-cloud-for-modelnet40)
to download the ModelNet40 and preprocess the data. Make sure you can train the
HRNet with random initialization.
HRNet with random initialization [here](classification.md#train-a-deep-o-cnn-based-hrnet).
Then run the following script to finetune the network with the pretrained
weights we provided. If you would like to finetune the network with your own

Просмотреть файл

@ -89,7 +89,7 @@ for i in range(len(ratios)):
# train the linear classifier
step_size1 = int(200000 * ratio * muls[i])
step_size2 = int(100000 * ratio * muls[i])
max_iter = int(400000 * ratio * muls[i])
max_iter = int(300000 * ratio * muls[i])
prefix = 'logs/m40/{}/feature_cls/m40_y'.format(alias)
train_data = '{}_{:.2f}_train_points.tfrecords'.format(prefix, ratio)
test_data = '{}_1.00_test_points.tfrecords'.format(prefix)