GithubHelp home page GithubHelp logo

clemrissa / cnn-for-asi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from waldeland/cnn-for-asi

0.0 0.0 1.0 96 KB

Tutorial: Convolutional Neural Networks for Automated Seismic Interpretation

License: Other

Python 100.00%

cnn-for-asi's Introduction

CNN for ASI

Code for the paper:
Convolutional Neural Networks for Automated Seismic Interpretation,
A. U. Waldeland, A. C. Jensen, L. Gelius and A. H. S. Solberg
The Leading Edge, July 2018

EAGE E-lecture: Seismic interpretation with deep learning (YouTube)

This repository contains python/pytorch code for applying Convolutional Neural Networks (CNN) on seismic data. The input is a segy-file containing post-stack seismic amplitude data. The training labels are given as images of the training slices, colored to indicate the classes.

Setup to get started

CNNs requires time-demanding computations, consider using a computer with a fast NVIDIA GPU with at least 6GB ram.

  • Install the required python packages (REQUIREMENTS.txt)
  • Clone this repository
  • Download the demo data set here. This is the F3 Netherlands dataset - originally made available by OpenDTect - and available via the MalenoV Project.
  • Locate the '.segy'-file, rename it to 'data.segy' and put it in the 'F3'-folder.

How to use tensorboard (for visualization)

  • Open a terminal
  • cd to the code-folder
  • run: tensorboard --logdir='log'
  • Open a web-browser and go to localhost:6006
    More information can be found here.

Usage

  • train.py - train the CNN
  • test.py - Example of how the trained CNN can be applied to predict salt in a slice or the full cube. In addition it shows how learned attributes can be extracted.

Files

In addition, it may be useful to have a look on these files

  • texture_net.py - this is where the network is defined
  • batch.py - provide functionality to generate training batches with random augmentation
  • data.py - load/save data sets with segy-format and labeled slices as images
  • tb_logger.py - connects to the tensorboard functionality
  • utils.py - some help functions
  • test_parallel.py - An implemenation of test.py supporting multi-gpu prediction (thanks to Max Kaznady).

Using a different data set and custom training labels

If you want to use a different data set, do the following:

  • Make a new folder where you place the segy-file
  • Make a folder for the training labels
  • Save images of the slices you want to train on as 'SLICETYPE_SLICENO.png' (or jpg), where SLICETYPE is either 'inline', 'crossline', or 'timeslice' and SLICENO is the slice number.
  • Draw the classes on top of the seismic data, using a simple image editing program with the class colors. Currently up to six classes are supported, indicated by the colors: red, blue, green, cyan, magenta and yellow.

Contact

Email: [email protected]

cnn-for-asi's People

Contributors

waldeland avatar jesperdramsch avatar maxkazmsft avatar markspec avatar stevejpurves avatar

Forkers

liweirong1120

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.