Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel
Integration:  dvc git github
scranefield 90d42333e7
Update README.md
2 years ago
b729d606e4
Adding DVC stuff
3 years ago
122e9d8ebb
nc_testing | added obs_50
3 years ago
203b49355f
exp5, data generated
3 years ago
b5feec8aaa
ijcai fig4 new-crop_image-2
2 years ago
d722b881c7
added seed for trial
3 years ago
src
d722b881c7
added seed for trial
3 years ago
ef95a57df0
Added params.yaml
3 years ago
a8c5806f2b
dvc for data_nc
3 years ago
5e69c2ab51
added MIT new license
2 years ago
b2b51f025b
Updated supplementary material
2 years ago
90d42333e7
Update README.md
2 years ago
e9202b6f73
Update contributors.txt
2 years ago
c0331bad3f
updated params for exp 1
3 years ago
d50ef5e666
exp5, parmas int
3 years ago
df4889d48c
Updated requirements.txt with latest values
2 years ago
b729d606e4
Adding DVC stuff
3 years ago
b729d606e4
Adding DVC stuff
3 years ago
Storage Buckets
Data Pipeline
Legend
DVC Managed File
Git Managed File
Metric
Stage File
External File

README.md

You have to be logged in to leave a comment. Sign In

MCMC norm learning

GitHub license DOI DVC made-with-python

Table of Contents

Table of Contents
  1. ➤ About The Project
  2. ➤ Prerequisites
  3. ➤ Project Organsisation
  4. ➤ Dataset
  5. ➤ Roadmap
  6. ➤ Contributors

-----------------------------------------------------

About The Project

This repository contains the source code used for experiments in the following paper:

Cranefield, Stephen and Dhiman, Ashish. Identifying Norms from Observation Using MCMC Sampling, Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence, International Joint Conferences on Artificial Intelligence, 118-124, 2021. https://doi.org/10.24963/ijcai.2021/17 (BibTeX)

The supplementary material for the paper can be found at Learning_Norms_with_MCMC_supp_material.pdf

The project covers the steps as given in the schematic below: image

-----------------------------------------------------

Prerequisites

To clone and run this application, you'll need to follow the below-mentioned steps:

# Clone this repository
$ git clone https://github.com/ashish1610dhiman/learning_norms_with_mcmc_from_pcfg_IJCAI21

# Go into the repository
$ cd learning_norms_with_mcmc_from_pcfg_IJCAI21

# Ensure the repository is in the correct branch for the IJCAI experiments
$ git checkout non_compliance

# Install dependencies using pip
$ pip install -r requirements.txt

# Or install dependencies in a virtual environment, e.g. for conda:
$ conda create --name <env_name> --file requirements.txt

-----------------------------------------------------

Project Organization


├── LICENSE
|
├── README.md               <- The top-level README.
|
├── *_supp_material.pdf     <- Supplemetary material for paper published in IJCAI-21.
|
├── data_nc/*               <- Folder with dvc files for various experiments with p_nn > 0
|
├── data/*                  <- Folder with dvc files for various experiments with p_nn = 0
|
├── src/
│   ├── mcmc_norm_*/        <- Code files for grammar/Metropolis Hastings Algorithm/convergence
|   |                          and preciscion-recall
│   └── *.py                <- Small Helper files
│
├── scripts/                <- Scripts used for variouis instances of the process depicted in 
|   |                          schematic above.
│   └── nc_experiments.py   <- Binding script used to run various parts of experiment
|
├── notebooks/              <- Jupyter notebooks. Naming convention is a number (for ordering),
│                              the creator's initials, and a short `_` delimited description. The notebooks with tag 1.5 mark 
|                              the files used for experiment shown in paper.
|
├── params_nc.yaml          <- yaml file detailing parameters for experiments used
│
└── requirements.txt        <- The requirements file for reproducing the analysis environment

-----------------------------------------------------

Dataset

The project uses dvc for tracking data. There are two data folders in the repository:

  1. data/: houses dvc files for data produced with older experiments
  2. data_nc/: dvc files for data produced with IJCAI submission experiments. The dvc files follow naming as per the iteration of experiment, or exp_nc{i}: for i ∈ {1,2,... , 5}

exp_nc5.dvc is the file corresponding to experiment presented in paper. Earlier experiments were for testing code changes.

Use the following commands to download the data corresponding to a dvc file:

# fetch the data
$ dvc fetch exp_nc5.dvc

# checkout the branch
$ dvc checkout

-----------------------------------------------------

Roadmap

As outlined in the About The Project above, MCMC Norm learning pipleine involves the following steps:

  1. Initialise a Environment and task
  2. Generate obervations
  3. Generate MCMC chains
  4. Analyse MCMC chains
  5. Run Convergence tests on MCMC chains
  6. Get Top Norms from chains

The above steps are outlined in the binding script nc_experiments.py.

Jupyter notebook is then used as a wrapper over nc_experiments.py, to run different experiment iterations. The naming scheme of notebooks is mentioned above in Project Organsisation.

1.5_nc_exp5.ipynb is the notebook used to run experiment presented in paper

-----------------------------------------------------

Contributors

  1. Stephen CranefieldDepartment of Information Science, University of Otago (Professor)Google Scholar Google Scholar

  2. Ashish DhimanDepartment of Aerospace Engineering, Indian Institute of Technology, Kharagpur (B-Tech, 2019)Connect on Linkedin LinkedIn

Tip!

Press p or to see the previous file or, n or to see the next file

About

The repository houses the source code of paper

Collaborators 1

Comments

Loading...