{"id":31021464,"url":"https://github.com/sisl/verticalcas","last_synced_at":"2025-09-13T11:21:56.450Z","repository":{"id":46327120,"uuid":"157291699","full_name":"sisl/VerticalCAS","owner":"sisl","description":null,"archived":false,"fork":false,"pushed_at":"2020-09-01T21:07:42.000Z","size":694,"stargazers_count":9,"open_issues_count":3,"forks_count":8,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-04T03:51:54.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sisl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-12T23:30:44.000Z","updated_at":"2024-06-17T21:20:48.000Z","dependencies_parsed_at":"2022-07-22T12:16:57.806Z","dependency_job_id":null,"html_url":"https://github.com/sisl/VerticalCAS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sisl/VerticalCAS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FVerticalCAS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FVerticalCAS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FVerticalCAS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FVerticalCAS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sisl","download_url":"https://codeload.github.com/sisl/VerticalCAS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sisl%2FVerticalCAS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274955881,"owners_count":25380669,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-13T02:00:10.085Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-09-13T11:21:54.626Z","updated_at":"2025-09-13T11:21:56.411Z","avatar_url":"https://github.com/sisl.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VerticalCAS\n\nThis repository has three main components:\n* Generate MDP table policy\n* Compress MDP table policy by training a neural network\n* Visualize MDP and neural network policies\n\n## Generate MDP Policy\nRequired Julia Packages: Printf, POMDPs, POMDPModelTools, LocalFunctionApproximation, GridInterpolations, Distributed, SharedArrays, StaticArrays, HDF5\n\nTested with Julia v1.0\n\nThe policy is generated in parallel via Julia by running `julia -p NUM_PROCS genTable.jl` in the GenerateTable folder, where NUM_PROCS is the number of processors you want to use. The top of genTable.jl specifies where the table should be written to as an HDF5 file.\n\n## Train Neural Network\nRequired Python Packages: numpy, h5py, theano, keras \n\nTested with Python v2.7\n\nAfter generating the table, the table needs to be formatted into training data for the neural network. To do this, run `python genTrainingData.py` in the GenerateNetworks folder. The top of the file specifies the MDP table policy folder and the format for the resulting training data files. Note that the table is split into separate files, one for each previous advisory, which allows separate networks to be trained for each previous advisory.\n\nNext, run `python trainVertCAS.py PREV_ADV`, where PREV_ADV is the index of the previous advsiroy you want to train. Options at the top of the file allow you to specify where the training data is stored and where the .nnet files should be written. There are additional options for the user to specify additional setting for network training.\n\n## Visualize the Policies\nRequired Julia Packages: GridInterpolations, Interact, PGFPlots, Colors, ColorBrewer, HDF5\n\nTested with Julia v0.6\n\nAfter generating MDP policies and training neural networks, the policies can be visualized. There is an example Jupyter notebook in the PolicyViz folder that shows how the policies can be interactively visualized. I have found that Julia v1.0 has problems showing the interactive features, but Julia v0.6 seems to work correctly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsisl%2Fverticalcas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsisl%2Fverticalcas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsisl%2Fverticalcas/lists"}