Skip to content
/ RDPC_P6 Public

The repository for the RDPC model, developed as a Bachelor Project at AAU

License

Notifications You must be signed in to change notification settings

ChBLA/RDPC_P6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gradient Descent for Relative Point Clouds

Overview

Folder Description
PythonScripts Mainly scripts for data processing and vizualization.
P6 Implementation of the algorithm, experiments, etc.
Data Data for training, training history, metadata and point clouds.

Files

To run the experiments for this project, the movielens datasets (MovieLens 1M Dataset and MovieLens 10M Dataset) need to be downloaded. The datasets can be found at: ML1M = https://grouplens.org/datasets/movielens/1m/, ML10M = https://grouplens.org/datasets/movielens/10m/. Make sure to move the "ratings.dat" file from each dataset to the Data/raw_data using names "ml1m_ratings.dat" and "ml10m_ratings.dat" for ML1M and ML10M, respectively. In order to use these datasets, the following commands must be run from the PythonScripts folder:

python process_ml1m.py
python process_ml10m.py

Both commands may be time-consuming, especially so for the second.

Alternatively, run the following C# script:

docker build -t p6_experiments:0.1 .
docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Setup

Experiments

Experiment configurations can be found in P6/Settings/Experiments.

Each folder in P6/Settings/Experiments correspond to a single experiment and such a folder contains two files AppConfig.json and OptimizerConfig.json specifying the setup for the experiment.

Running experiments

Before running any experiment, the docker image must be build by following command:

# build image (assuming that current working directory is the root of the codebase)
docker build -t p6_experiments:0.1 .

The following procedure can be followed to run SomeExperiment using Docker:

# start the container
# this will start executing the experiment represented by folder SomeExperiment 
docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments SomeExperiment

Enabling sharing of data directory between host machine and docker container:

  • The command -v "$(pwd)"/Data:/reldist/Data assumes that the current working directory contains the Data folder (the folder described in Overview).
  • Alternatively, the command -v src:/reldist/Data can be used where src should be a path to the Data folder.

Note:

  • The container can be inspected by executing the following command:
docker run --entrypoint "/bin/bash" -it --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1

Tuning experiments

RTD tuning experiments x ∈ {DoubanRTDConstantTuningExperiment, DoubanRTDPowerTuningExperiment, ML1MRTDConstantTuningExperiment, ML1MRTDPowerTuningExperiment} run:

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments x

Decay function tuning for ML1M and Douban for x ∈ {DoubanTuneDecayConstantExperiment, DoubanTuneDecayFactorExperiment, DoubanTuneDecayBaseExperiment, ML1MTuneDecayConstantExperiment, ML1MTuneDecayFactorExperiment, ML1MTuneDecayBaseExperiment} and diffusion degree # run:

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments x #

Tune dimensions for ML1M and Douban for x ∈ {DoubanDimensionTuningExperiment, ML1MDimensionTuningExperiment} run:

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments x

Tune optimisers for ML1M and Douban for x ∈ {DoubanOptimiserTuningExperiment, ML1MOptimiserTuningExperiment} run:

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments x

Benchmark experiments

To perform benchmarking on the MovieLens 1M (ML1M) and Douban datasets for the RDPC model run:

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments ML1MVanillaBenchmark

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments DoubanVanillaBenchmark

To perform benchmark on the MovieLens 1M (ML1M) and Douban datasets for the RDPC-D with diffusion degree "#" run:

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments ML1MDiffusionBenchmark #

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments DoubanDiffusionBenchmark #

To perform scalability experiment on MovieLens 10M (ML10M) for diffusion degree # run:

docker run --rm -v "$(pwd)"/Data:/reldist/Data p6_experiments:0.1 Experiments ML10MTrueDiffusionExperiment #

About

The repository for the RDPC model, developed as a Bachelor Project at AAU

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published