{"id":2284,"date":"2018-09-08T19:05:59","date_gmt":"2018-09-08T19:05:59","guid":{"rendered":"http:\/\/intelligentonlinetools.com\/blog\/?page_id=2284"},"modified":"2018-09-09T23:47:34","modified_gmt":"2018-09-09T23:47:34","slug":"neural-networks-applications-seismic-prospecting-neural-network-code","status":"publish","type":"page","link":"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/","title":{"rendered":"Neural Networks Applications in Seismic Prospecting  &#8211; Neural Network Code"},"content":{"rendered":"<p>Below you will find neural network code for blog post <a href=\"https:\/\/intelligentonlinetools.com\/blog\/2018\/09\/06\/artificial-intelligence-neural-networks-applications-seismic-prospecting\/\" target=\"_blank\">Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting<\/a>.  This post is showing how seismic process can be automated using deep neural network such as  simple Multi Layer perceptron.<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n\r\nimport numpy as np\r\nimport tensorflow as tf\r\nimport pandas as pd\r\nimport matplotlib.pyplot as plt\r\nimport pickle\r\nimport math\r\n\r\n\r\n##############################FUNCTIONS USED############################################\r\ndef data_analysis():\r\n    X = pd.read_csv('X_new.csv')\r\n    Y = pd.read_csv('Y_new.csv')\r\n    X_train=X.values\r\n    X_train=X_train[0:119,:]\r\n    Y_train=Y.values\r\n    Y_train=Y_train[0:119,:]\r\n    return X_train.T,Y_train.T\r\n\r\n\r\ndef random_mini_batches(X_train,Y_train,minibatch_size):\r\n    m=X_train.shape[1]\r\n    mini_batches=[]\r\n\r\n    num_complete_minibatches=int(math.floor(m\/minibatch_size))\r\n    for k in range(0,num_complete_minibatches):\r\n        minibatch_X=X_train[:,k*minibatch_size:(k+1)*minibatch_size]\r\n        minibatch_Y=Y_train[:,k*minibatch_size:(k+1)*minibatch_size]\r\n        mini_batch=(minibatch_X,minibatch_Y)\r\n        mini_batches.append(mini_batch)\r\n\r\n    if m % minibatch_size !=0:\r\n        minibatch_X=X_train[:,num_complete_minibatches*minibatch_size:]\r\n        minibatch_Y=Y_train[:,num_complete_minibatches*minibatch_size:]\r\n        mini_batch=(minibatch_X,minibatch_Y)\r\n        mini_batches.append(mini_batch)\r\n\r\n    return mini_batches\r\n\r\ndef init_par(layer_dims):\r\n    L=len(layer_dims)\r\n    parameters={}\r\n    for l in range(1,L):\r\n        parameters[&quot;W&quot;+str(l)]=tf.get_variable(&quot;W&quot;+str(l),[layer_dims[l],layer_dims[l-1]],initializer=tf.contrib.layers.xavier_initializer())\r\n        parameters[&quot;b&quot;+str(l)]=tf.get_variable(&quot;b&quot;+str(l),[layer_dims[l],1],initializer=tf.zeros_initializer())\r\n    return parameters\r\n\r\ndef forward(X,parameters,layer_dims):\r\n    outputs={}\r\n    outputs[&quot;A0&quot;]=X\r\n    L=len(layer_dims)\r\n    for l in range(1,L-1):\r\n        outputs[&quot;Z&quot;+str(l)] =tf.add(tf.matmul(parameters[&quot;W&quot;+str(l)],outputs[&quot;A&quot;+str(l-1)]),parameters[&quot;b&quot;+str(l)])\r\n        outputs[&quot;A&quot;+str(l)]=tf.nn.relu(outputs[&quot;Z&quot;+str(l)])\r\n    outputs[&quot;Z&quot;+str(L-1)]=tf.add(tf.matmul(parameters[&quot;W&quot;+str(L-1)],outputs[&quot;A&quot;+str(L-2)]),parameters[&quot;b&quot;+str(L-1)])\r\n    outputs[&quot;A&quot;+str(L-1)]=tf.nn.relu(outputs[&quot;Z&quot;+str(L-1)])\r\n    return outputs[&quot;A&quot;+str(L-1)]\r\n\r\ndef model(X_train, Y_train, layer_dims, learning_rate, num_epochs, minibatch_size,print_cost):\r\n    n_x=X_train.shape[0]\r\n    m=X_train.shape[1]\r\n    n_y=Y_train.shape[0]\r\n    costs=[]\r\n\r\n    X=tf.placeholder(tf.float32,[n_x,None],name=&quot;X&quot;)\r\n    Y=tf.placeholder(tf.float32,[n_y,None],name=&quot;Y&quot;)\r\n\r\n    parameters=init_par(layer_dims)\r\n\r\n    Z=forward(X,parameters,layer_dims)\r\n\r\n    cost=tf.reduce_sum(tf.square(Z-Y))\/m\r\n\r\n    optimizer=tf.train.AdamOptimizer(learning_rate=learning_rate).minimize(cost)\r\n\r\n    init=tf.global_variables_initializer()\r\n\r\n    with tf.Session() as sess:\r\n        sess.run(init)\r\n        for epoch in range(num_epochs):\r\n            epoch_cost=0.\r\n            num_minibatches=int(m\/minibatch_size)\r\n            minibatches=random_mini_batches(X_train,Y_train,minibatch_size)\r\n\r\n            for minibatch in minibatches:\r\n                (minibatch_X,minibatch_Y)=minibatch\r\n                _,minibatch_cost = sess.run([optimizer,cost], feed_dict={X:minibatch_X,Y:minibatch_Y})\r\n                epoch_cost+=minibatch_cost\/num_minibatches\r\n            if print_cost == True and epoch % 100 == 0:\r\n                print (&quot;Cost after epoch %i: %f&quot; % (epoch, epoch_cost))\r\n            if print_cost == True and epoch % 5 == 0:\r\n                costs.append(epoch_cost)\r\n\r\n        plt.plot(np.squeeze(costs))\r\n        plt.ylabel('cost')\r\n        plt.xlabel('iterations (per tens)')\r\n        plt.title(&quot;Learning rate =&quot; + str(learning_rate))\r\n        plt.show()\r\n\r\n        parameters=sess.run(parameters)\r\n        print(&quot;TRAINED!!&quot;)\r\n\r\n        #print(&quot;Train Accuracy : &quot;, cost.eval({X: X_train, Y: Y_train})\r\n\r\n    return parameters\r\n\r\n\r\n###########################################################################################\r\n###########################################################################################\r\n###########################################################################################\r\n\r\nX_train,Y_train=data_analysis() #file from which data is input\r\n\r\nn_x=X_train.shape[0]\r\nm=X_train.shape[1]\r\nn_y=Y_train.shape[0]\r\nlayer_dims=[n_x,150,100,n_y]\r\nlearning_rate=0.00001\r\nnum_epochs = 50000\r\nminibatch_size = m\r\n\r\nparameters=model(X_train, Y_train, layer_dims, learning_rate, num_epochs, minibatch_size, print_cost=True)\r\nwith open(&quot;parameters.txt&quot;, &quot;wb&quot;) as myFile:\r\n    pickle.dump(parameters, myFile)\r\n\r\n\r\n<\/pre>\n<p><strong>References<\/strong><br \/>\n1. <a href=\"https:\/\/intelligentonlinetools.com\/blog\/2018\/09\/06\/artificial-intelligence-neural-networks-applications-seismic-prospecting\/\" target=\"_blank\">Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Below you will find neural network code for blog post Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting. This post is showing how seismic process can be automated using deep neural network such as simple Multi Layer perceptron. References 1. Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jetpack_post_was_ever_published":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Neural Networks Applications in Seismic Prospecting - Neural Network Code - Machine Learning Applications<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Neural Networks Applications in Seismic Prospecting - Neural Network Code - Machine Learning Applications\" \/>\n<meta property=\"og:description\" content=\"Below you will find neural network code for blog post Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting. This post is showing how seismic process can be automated using deep neural network such as simple Multi Layer perceptron. References 1. Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting\" \/>\n<meta property=\"og:url\" content=\"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/\" \/>\n<meta property=\"og:site_name\" content=\"Machine Learning Applications\" \/>\n<meta property=\"article:modified_time\" content=\"2018-09-09T23:47:34+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/\",\"url\":\"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/\",\"name\":\"Neural Networks Applications in Seismic Prospecting - Neural Network Code - Machine Learning Applications\",\"isPartOf\":{\"@id\":\"http:\/\/intelligentonlinetools.com\/blog\/#website\"},\"datePublished\":\"2018-09-08T19:05:59+00:00\",\"dateModified\":\"2018-09-09T23:47:34+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/intelligentonlinetools.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Neural Networks Applications in Seismic Prospecting &#8211; Neural Network Code\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/intelligentonlinetools.com\/blog\/#website\",\"url\":\"http:\/\/intelligentonlinetools.com\/blog\/\",\"name\":\"Machine Learning Applications\",\"description\":\"Artificial intelligence, data mining and machine learning for building web based tools and services.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/intelligentonlinetools.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Neural Networks Applications in Seismic Prospecting - Neural Network Code - Machine Learning Applications","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/","og_locale":"en_US","og_type":"article","og_title":"Neural Networks Applications in Seismic Prospecting - Neural Network Code - Machine Learning Applications","og_description":"Below you will find neural network code for blog post Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting. This post is showing how seismic process can be automated using deep neural network such as simple Multi Layer perceptron. References 1. Artificial Intelligence &#8211; Neural Networks Applications in Seismic Prospecting","og_url":"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/","og_site_name":"Machine Learning Applications","article_modified_time":"2018-09-09T23:47:34+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/","url":"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/","name":"Neural Networks Applications in Seismic Prospecting - Neural Network Code - Machine Learning Applications","isPartOf":{"@id":"http:\/\/intelligentonlinetools.com\/blog\/#website"},"datePublished":"2018-09-08T19:05:59+00:00","dateModified":"2018-09-09T23:47:34+00:00","breadcrumb":{"@id":"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/intelligentonlinetools.com\/blog\/neural-networks-applications-seismic-prospecting-neural-network-code\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/intelligentonlinetools.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Neural Networks Applications in Seismic Prospecting &#8211; Neural Network Code"}]},{"@type":"WebSite","@id":"http:\/\/intelligentonlinetools.com\/blog\/#website","url":"http:\/\/intelligentonlinetools.com\/blog\/","name":"Machine Learning Applications","description":"Artificial intelligence, data mining and machine learning for building web based tools and services.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/intelligentonlinetools.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7h1IJ-AQ","jetpack-related-posts":[{"id":1756,"url":"https:\/\/intelligentonlinetools.com\/blog\/time-series-prediction-lstm-keras-python-source-code\/","url_meta":{"origin":2284,"position":0},"title":"Time Series Prediction with LSTM and Keras  &#8211; Python Source Code","date":"January 5, 2018","format":false,"excerpt":"Here you can find python source code for Time Series Prediction with LSTM and Keras","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2096,"url":"https:\/\/intelligentonlinetools.com\/blog\/source-code-for-machine-learning-correlation-data-analysis-between-food-and-mood\/","url_meta":{"origin":2284,"position":1},"title":"Source Code for Machine Learning Correlation Data Analysis Between Food and Mood","date":"June 14, 2018","format":false,"excerpt":"Here is the code for Machine Learning Correlation Data Analysis Between Food and Mood Python pandas dataframe is used in this script for calculation correlation between two time series.","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2499,"url":"https:\/\/intelligentonlinetools.com\/blog\/reinforcement-learning-dqn\/","url_meta":{"origin":2284,"position":2},"title":"Reinforcement Learning DQN","date":"January 5, 2019","format":false,"excerpt":"This is the python source code of RL_brainDQN.py for post Reinforcement Learning Python DQN Application for Resource Allocation","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2366,"url":"https:\/\/intelligentonlinetools.com\/blog\/rl-dyna-q\/","url_meta":{"origin":2284,"position":3},"title":"Reinforcement Learning Dyna-Q","date":"November 3, 2018","format":false,"excerpt":"This is the python source code of RL_brain.py for post Reinforcement Learning Example for Planning Tasks Using Q Learning and Dyna-Q","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1820,"url":"https:\/\/intelligentonlinetools.com\/blog\/site-map\/","url_meta":{"origin":2284,"position":4},"title":"Sitemap","date":"January 25, 2018","format":false,"excerpt":"Time Series and Stock Data Prediction Python Source Code Machine Learning Stock Prediction with LSTM and Keras Notes - Machine Learning Stock Prediction with LSTM and Keras Time Series Prediction with LSTM and Keras for Multiple Steps Ahead Prediction Data Stock Prices with Prophet Time Series Analysis with Python and\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2501,"url":"https:\/\/intelligentonlinetools.com\/blog\/reinforcement-learning-dqn-run-planning\/","url_meta":{"origin":2284,"position":5},"title":"Reinforcement Learning DQN Run Planning","date":"January 5, 2019","format":false,"excerpt":"This is the python source code of run_planning_RL_DQN.py for post Reinforcement Learning Python DQN Application for Resource Allocation","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/pages\/2284"}],"collection":[{"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/comments?post=2284"}],"version-history":[{"count":5,"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/pages\/2284\/revisions"}],"predecessor-version":[{"id":2315,"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/pages\/2284\/revisions\/2315"}],"wp:attachment":[{"href":"https:\/\/intelligentonlinetools.com\/blog\/wp-json\/wp\/v2\/media?parent=2284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}