Coder Social home page Coder Social logo

xyt556 / 3dmpm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chengyeung1222/3dmpm

0.0 0.0 0.0 1.59 MB

Learning 3D Mineral Prospectivity from 3D Geological Models Using Convolutional Neural Networks

License: MIT License

Shell 0.01% C++ 53.70% Python 0.85% C 45.25% Objective-C 0.12% MATLAB 0.09%

3dmpm's Introduction

3DMPM

This is the implementation of the 3DMPM architecture described in this paper:

Learning 3D Mineral Prospectivity from 3D Geological Models Using Convolutional Neural Networks,

by Hao Deng, Yang Zheng, Jin Chen*, Shuyan Yu, Zhankun Liu, Xiancheng Mao

Hardware requirements

  • GeForce GTX 1050 Ti or higher

Program language

  • MATLAB (eigenfunctions)
  • C++ (ScanProjection)
  • Python (CNNnetwork)

Dependencies required

ScanProjection

  • glad 0.1.29
  • glfw 3.2.1
  • libpng 1.6.17
  • Zlib 1.2.8

CNNnetwork

  • Ubuntu 18.04
  • Python 3.6
  • NumPy 1.14.5
  • TensorFlow 1.14.0
  • TensorBoard 1.10.0

Usage

  1. Run main.m in "eigenfunctions" library to result in a series of Laplace-Beltrami eigenvalues and eigenfunctions.
  2. Execute the Visual Studio solution file ScanProjection.sln in "ScanProjection" library to project shape descriptors into images *.bin.
    The paths and directionaries in params.ini should be specified. And the dimension of properties is specified by using macro in params.h as:
    #define KDims 16 // dimension of properties

To set the projection program, you need to specify the input and output directories in params.ini:

    [meshPath]
    YOUR_3D_MODEL_PATH
    
    [propPath]
    YOUR_PROPERTY_CSV_PATH
    
    [voxelPath]
    YOUR_VOXEL_CSV_PATH
    
    [binDir]
    YOUR_BIN_FILE_OUTPUT_DIRECTIONARY
    
    [pngDir]
    YOUR_FILE_FILE_OUTPUT_DIRECTIONARY

User can switch off the output of png files in params.ini by setting

    [withPng]
    0
  1. Run the network training procedure finetune.py with loading parameters pretrained on ImageNet on Linux.
  2. Run the testing procedure (after executing training) on Linux:
    sh for_cycle_2.sh

,specifying

    tf.flags.DEFINE_integer('pre_size', <your_prediction_batch_size>, 'prediction size')
    tf.flags.DEFINE_integer('iter_epoch', <your_batchs_per_epoch>, 'pre_size data per iter_epoch')

in classifier_v4.py.

3dmpm's People

Contributors

chengyeung1222 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.