mlspock

Official repository of "Machine Learning Supported System for Performance Assessment of Steel Structures Under Extreme Operating Conditions and Risk Management."

https://github.com/isinsukatircioglu/mlspock

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Official repository of "Machine Learning Supported System for Performance Assessment of Steel Structures Under Extreme Operating Conditions and Risk Management."

Basic Info
  • Host: GitHub
  • Owner: isinsukatircioglu
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 18.5 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

ML-SPOCK

This repository contains the code for the project titled "Machine Learning Supported System for Performance Assessment of Steel Structures Under Extreme Operating Conditions and Risk Management." mlspock_overview

Setup

  • Download and install miniconda.
  • Use the following commands with miniconda to create and activate your environment.
    • conda env create -f environment.yml
    • conda activate mlspock ## Training To train a Point Transformer (PTR) on the STEEL-3dPointClouds dataset: python train.py --model_type=ptr --path_data=./data/mlspock_column_pc3d --mode=train --batch_size=32 --epoch=250 --segment=bottom --norm=snorm --scaling_mode=diff --model_size=small --version=1 You can finetune a pre-trained model using *.pth files that can be referenced using local filenames. To finetune our Point Transformer (PTR) on the STEEL-3dPointClouds dataset: python train.py --model_type=ptr --path_data=./data/mlspock_column_pc3d --mode=train --batch_size=32 --epoch=250 --segment=bottom --norm=snorm --scaling_mode=diff --model_size=small --version=1 --resume --path_model=./pretrained/ptr_small_segment[bottom]_snorm[diff_scale]_input[3d]_lprot[all]_batch_32_lr_0.0005_optimizer_AdamW_seed42_v1 To finetune our scenario-based classification model PTR+Cls[All] on the STEEL-3dPointClouds dataset: python train.py --model_type=ptr_classify --path_data=./data/mlspock_column_pc3d --mode=train --batch_size=32 --epoch=250 --segment=bottom --norm=snorm --scaling_mode=diff --model_size=small --classify=all --split=late --version=1 --resume --path_model=./pretrained/ptr_classify_small_segment[bottom]_snorm[diff_scale]_input[3d]_lprot[all]_batch_32_lr_0.0005_optimizer_AdamW_classify[all_late]_seed42_v1 To finetune our scenario-guided model PTR+[LR, BC, LP, CS] on the STEEL-3dPointClouds dataset: python train.py --model_type=ptr --path_data=./data/mlspock_column_pc3d --mode=train --batch_size=32 --epoch=250 --segment=bottom --norm=snorm --scaling_mode=diff --model_size=small --lratio_known --boundary_known --lprotocol_known --dimension_known --version=1 --resume --path_model=./pretrained/ptr_small_segment[bottom]_snorm[diff_scale]_input[3d_lratio_boundary_lprot_colsize]_lprot[all]_batch_32_lr_0.0005_optimizer_AdamW_seed42_v1 The results of each training run are saved to a newly created directory under ~/experiments.

You can evaluate a pre-trained model by ensuring that the model file is named best_model.pth, and by setting the path_model option to the path where this file is located: python train.py --model_type=ptr --path_data=./data/mlspock_column_pc3d --mode=eval --batch_size=32 --segment=bottom --norm=snorm --scaling_mode=diff --model_size=small --version=1 --path_model=./pretrained/ptr_small_segment[bottom]_snorm[diff_scale]_input[3d]_lprot[all]_batch_32_lr_0.0005_optimizer_AdamW_seed42_v1

Test

To test a pre-trained model on unseen examples, each scenario folder should contain the 3D point cloud of each individual column saved as a separate .npy file. For example: /test_240430/W33X263-Collapse_consistent-RC90/pts029.npy (test_folder/scenario_name/p3d.npy). You can then obtain predictions by running: python train.py --model_type=ptr --path_data=./data/test_240430 --mode=test --segment=bottom --norm=snorm --scaling_mode=diff --model_size=small --version=1 --path_model=./pretrained/ptr_small_segment[bottom]_snorm[diff_scale]_input[3d]_lprot[all]_batch_32_lr_0.0005_optimizer_AdamW_seed42_v1 --gt or python train.py --model_type=ptr_classify --path_data=./data/test_240430 --mode=test --segment=bottom --norm=snorm --scaling_mode=diff --model_size=small --version=1 --path_model=./pretrained/ptr_classify_small_segment[bottom]_snorm[diff_scale]_input[3d]_lprot[all]_batch_32_lr_0.0005_optimizer_AdamW_classify[all_late]_seed42_v1 --classify=all --split=late --gt

Further Information

This repository builds upon the codabase of Pointnet, Pointnet++ and Point-Transformers.

Owner

  • Name: Isinsu Katircioglu
  • Login: isinsukatircioglu
  • Kind: user

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Katircioglu
    given-names: Isinsu
title: "MLSPOCK
version: 1.0
date-released: 2024-03-26

GitHub Events

Total
  • Push event: 4
  • Public event: 1
Last Year
  • Push event: 4
  • Public event: 1

Dependencies

Dockerfile docker
  • pytorch/pytorch 2.3.1-cuda11.8-cudnn8-runtime build
environment.yml pypi
  • click ==8.1.7
  • h5py ==3.10.0
  • matplotlib ==3.8.2
  • pandas ==2.2.0
  • plotly ==5.19.0
  • plotly-express ==0.4.1
  • scikit-learn ==1.3.2
  • scipy ==1.11.4
  • seaborn ==0.13.2