GithubHelp home page GithubHelp logo

ourwlsg / mfcis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from weizhenliubioinform/mfcis

0.0 1.0 0.0 3.84 MB

Multi-feature Combined Cultivar Identification System:An automatic leaf-based identification pipeline for plant cultivars using deep learning and persistent homology

License: Other

Python 100.00%

mfcis's Introduction

The Source Code of MFCIS

Clicking Here to access the online cultivar recognition platform.

MFCIS online platform

If you have any problem, please contact us!

** If the CUDA installation process failed. Please remove the installation commands of cuda and enter the docker container and install the CUDA manually. Please make sure tensorflow and CUDA versions are compatible.

Environment requirement

  • The computation of Persistence Diagram (PD) require the python package HomCloud and Dipha.
  • The code should work on the Linux operating system (The Ubuntu(>16.0.4 LTS) is recommend).
The other required python packages
  • Python3
  • Scikit-image, Scikit-learn
  • Opencv
  • Tensorflow > 2.0
  • ...

The complete list of the required python packages and their version information can be found at requirement.txt

The configuration of Homcloud and Dipha

we refer to the homepage of Homcloud https://homcloud.dev/ for the configuration of Homcloud and Dipha.

DockerFile

It's so cumbersome to do the configuration from scratch, so we provided a dockerfile, you can run the program in the docker container. The dockerfile and homcloud package can be found in the dockerfile folder. We strongly recommend you adopt this way. The dipha provided was compiled on Debian system. If you want to change the base image, the dipha should be Recompiled.

Tips:

  • You can enter the dockerfile folder and execute the following command:
  1. Building the docker image

docker build -t mfcis:1.0 ./

  1. Creating the docker container. If you have built the docker image successfully, please create and start the docker container.

docker run -it --name mfcis -p 2202:22 -v your_local_code_path:/workspace --gpus all --shm-size="32g" mfcis:1.0 /bin/bash

  • your_local_path is the real path of the code and dataset on your computer. Please ensure all the path are properly configured before running the code.
  1. The docker container create the root user as default, but the dipha should work under the common user, as a result you can create a new user account in the docker container and run the feature_extraction program on this account and train and test the model on the root account. It's a little difficult to configure the runing enviroment, so please contact us or raise an issue. we will reply you as soon as possible.
The dockerfile and configuration has been tested on a linux server with NVIDIA TESLA v100 and GTX1080TI.

The configuration of the code

  • You should configuration the dipha path in pershombox/_software_backends/software_backends.cfg
  • The main.py is the entrance of the program, you can uncomment or comment the code to validate different models.
  • The docker container should be run under a common user accout other than a root account.

The detail configuration of file path and other settings are shown in the source code by comment.

The core functions are under the folder named feature_extraction and model, you can also modify the pipeline in your way.

mfcis's People

Contributors

wut-biolab-zhangyanping avatar danyuliuyan avatar weizhenliubioinform avatar

Watchers

James Cloos 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.