Giter Club home page Giter Club logo

ind_knn_ad_mydataset's Introduction

ind_knn_ad_MyDataset

KNN(k-nearest neighbors)ベースの画像異常検知のgithubであるind_knn_adのサンプルコード。自前のDatasetで実行できるようにした。

Prerequisites

Build environment

# Docker image作成
docker build -t ind_knn_ad -f ./Dockerfile .

# Dockerコンテナ起動してbashで入る
docker run -p 8888:8888 -p 7860:7860 \
-it \
-w /work \
-v $PWD/work:/work \
--rm \
--gpus all \
--shm-size 32g \
ind_knn_ad \
/bin/bash

# ind_knn_adのコードダウンロード
git clone https://github.com/rvorias/ind_knn_ad.git

Run

./work/run_mydataset.py がサンプルコード。使用例は./work/run_test.sh を参照。

  • timmをbackboneに用いて SPADE, PaDiM, PatchCore の3つの異常検知手法が使える。

  • 入力画像のファイルパスが記載されたCSVファイルを入力として使用。

./work/run_timm_cnns.sh は色んなbackboneで実行する例。

./work/gradio_app.py は推論して異常部可視化するgradioのアプリ。

run_mydataset.py とgit cloneした ind_knn_ad を別ディレクトリにコピーして変更すれば任意のデータで学習推論できる。

cp ./work/run_mydataset.py ./xxx
cp -r ./work/ind_knn_ad ./xxx
cp ./work/run_py_folds.ipynb ./xxx

Jupyter notebook

以下のコマンドでJupyter labを起動可能。

# Dockerコンテナ起動してbashで入る
docker run -p 8888:8888 \
-it \
-w /work \
-v $PWD/work:/work \
--rm \
--gpus all \
--shm-size 32g \
ind_knn_ad \
/bin/bash

# Jupyter lab起動
jupyter lab --ip=0.0.0.0 --allow-root --no-browser --NotebookApp.token='' --port=8888

# ind_knn_adを試したnotebook: work/run_import.ipynb, work/run_py_folds.ipynb が実行できる

ind_knn_ad_mydataset's People

Contributors

riron1206 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.