2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 1/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 2/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 3/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 4/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 5/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 6/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 7/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 8/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 9/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 10/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 11/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 12/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 13/31
Perception
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 14/31
In [1]:
. . .
import os
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos/Perceptio
!pwd
%run -i demo.py "input/in.jpg" "style/style_vangogh.jpg" "output/out"
os.system('cp output/out_at_iteration_3.png /home2/innolabs/Dropbox/C
os.system('cp input/in.jpg /home2/innolabs/Dropbox/Common/Augment-Tra
os.system('rm output/out_at_iteration_*.png')
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos")
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 15/31
L
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 16/31
Language
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 17/31
In [2]:
Perception & Language
a quaintlycostumed little couple still marvelling about o
n their own ground floor by the unnecessary light of a gu
ttering candle chapter the furniture that went mad now it
happened that in the early hours of whitmonday before mil
lie was hunted out for the day mr hall and mrs hall both
import os
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos")
%run -i lstm_text_gen.py
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 18/31
In [6]:
import os
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos")
## Image Caption generation -- using a previously pre-trained model
from pickle import load
from numpy import argmax
from keras.preprocessing.sequence import pad_sequences
from keras.applications.vgg16 import VGG16
from keras.preprocessing.image import load_img
from keras.preprocessing.image import img_to_array
from keras.applications.vgg16 import preprocess_input
from keras.models import Model
from keras.models import load_model
def extract_features(filename):
model = VGG16()
# Transfer Learning
model.layers.pop()
model = Model(inputs=model.inputs, outputs=model.layers[-1].output
image = load_img(filename, target_size=(224, 224))
image = img_to_array(image)
image = image.reshape((1, image.shape[0], image.shape[1], image.sh
image = preprocess_input(image)
feature = model.predict(image, verbose=0)
return feature
def word_for_id(integer, tokenizer):
for word, index in tokenizer.word_index.items():
if index == integer:
return word
return None
def cleanup_summary(summary):
index = summary.find('startseq ')
if index > -1:
summary = summary[len('startseq '):]
index = summary.find(' endseq')
if index > -1:
summary = summary[:index]
return summary
# Function to generate the caption for the image
def generate_caption(model, tokenizer, photo, max_length):
in_text = 'startseq'
for _ in range(max_length):
sequence = tokenizer.texts_to_sequences([in_text])[0]
sequence = pad_sequences([sequence], maxlen=max_length)
ytgt = model.predict([photo,sequence], verbose=0)
ytgt = argmax(ytgt)
word = word_for_id(ytgt, tokenizer)
if word is None:
break
in_text += ' ' + word
if word == 'endseq':
break
return in_text
tokenizer = load(open('tokenizer2.pkl', 'rb'))
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 19/31
Reasoning
two dogs are running through the water
max_length = 34
model = load_model('model2.h5') # Load the pre-trained model
photo = extract_features('image.jpeg')
caption = generate_caption(model, tokenizer, photo, max_length)
caption = cleanup_summary(caption)
print(caption)
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 20/31
In [7]:
Train on 227453 samples, validate on 56962 samples
Epoch 1/2
227453/227453 [==============================] - 24s 104u
s/step - loss: 0.8158 - acc: 0.5923 - val_loss: 0.8922 -
val_acc: 0.6205
Epoch 2/2
227453/227453 [==============================] - 21s 93u
s/step - loss: 0.7653 - acc: 0.6291 - val_loss: 0.8682 -
val_acc: 0.6421
import os
import matplotlib
%matplotlib inline
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos/autoencod
%run -i demo.py
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 21/31
Intuition
In [8]:
In [9]:
. . .
. . .
import os
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos")
from wand.image import Image as WImage
img = WImage(filename='DeepMind_Paper.pdf[0]')
img
img = WImage(filename='DeepMind_Paper.pdf[2]')
img
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 22/31
In [1]:
In [2]:
. . .
. . .
import os
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos/Intuition
%run -i breakout_dqn.py
from IPython.display import HTML
HTML("""
<div align="middle">
<video height="750" width="1000" controls>
<source src="Videos/DeepMind_playing_Atari_Breakout.mp4" type="v
</video></div>""")
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 23/31
In [3]:
Creativity
. . .
##11.30 to 17.30
##0.25 to 3:30 -- *
from IPython.display import HTML
HTML("""
<div align="middle">
<video width="90%" controls>
<source src="Videos/AlphaGo_Intuition.mp4" type="video/mp4">
</video></div>""")
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 24/31
In [4]:
. . .
import os
os.chdir("/home2/innolabs/Dropbox/Linux/Keras/gan/DeepDream")
%run -i deep_dream.py
os.system('cp images/dreams/CheshireCat/dreamy/CheshireCat_at_iteratio
os.system('cp images/source/download.jpeg /home2/innolabs/Dropbox/Com
os.chdir("/home2/innolabs/Dropbox/Common/Augment-Train/Demos")
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 25/31
In [5]:
. . .
##14.00 to 17:30
from IPython.display import HTML
HTML("""
<div align="middle">
<video width="90%" controls>
<source src="Videos/AI_Creativity.mp4" type="video/mp4">
</video></div>""")
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 26/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 27/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 28/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 29/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 30/31
2/5/2019 AIpreso
http://localhost:8888/notebooks/AIpreso.ipynb 31/31
In [ ]:

AI Presentation - Aug-2018