How to get the best of both worlds : Big Data and Data Science?
Run Deep Learning on Spark easily with BigDL library!
Slides of my short conference, introduction to BigDL, for Christmas JUG event in Montpellier
16. val conf = Engine.createSparkConf()
.setAppName("DeepLearningOnSpark")
.setMaster("local[3]")
val sparkSession = SparkSession.builder()
.config(conf).getOrCreate()
val sqlContext = sparkSession.sqlContext
val sparkContext = sparkSession.sparkContext
Engine.init
The same configs as Spark
17. val conf = Engine.createSparkConf()
.setAppName("DeepLearningOnSpark")
.setMaster("local[3]")
val sparkSession = SparkSession.builder()
.config(conf).getOrCreate()
val sqlContext = sparkSession.sqlContext
val sparkContext = sparkSession.sparkContext
Engine.init
The same configs as Spark
31. Losses
More than 30 criterions :
mean squared error,
binary cross entropy,
negative log likelihood criterion,
KL-divergence of the Gaussian distribution...
32. Losses
More than 30 criterions :
mean squared error,
binary cross entropy,
negative log likelihood criterion,
KL-divergence of the Gaussian distribution...
Optimization algorithms
Most popular gradient descent algorithms :
SGD, Adam, Adagrad, Adadelta, AdaMax
40. Convolutional Neural Network
Bonjour, on recrute à Montpellier (#systeme, reseau , #Devops, #Linux ).
n'hésitez pas à postuler et à diffuser, Merci beaucoup .
PS nous ne sommes pas une SSII
41. Convolutional Neural Network
Bonjour, on recrute à Montpellier (#systeme, reseau , #Devops, #Linux ).
n'hésitez pas à postuler et à diffuser, Merci beaucoup .
PS nous ne sommes pas une SSII
Montpellier
#systeme, reseau , #Devops, #Linux
pas une SSII
42. Convolutional Neural Network
Bonjour, on recrute à Montpellier (#systeme, reseau , #Devops, #Linux ).
n'hésitez pas à postuler et à diffuser, Merci beaucoup .
PS nous ne sommes pas une SSII
Montpellier
#systeme, reseau , #Devops, #Linux
pas une SSII
$$$$$ ?
43. Convolutional Neural Network
Bonjour, on recrute à Montpellier (#systeme, reseau , #Devops, #Linux ).
n'hésitez pas à postuler et à diffuser, Merci beaucoup .
PS nous ne sommes pas une SSII
Montpellier
#systeme, reseau , #Devops, #Linux
pas une SSII
$$$$$ ?
Bad
45. val model = Sequential[Double]()
.add(TemporalConvolution(inputSize, outputSizeTempConv, kernelSize))
.add(ReLU())
.add(TemporalMaxPooling(outputSizeMaxPooling)
.add(Linear(inputSizeLinearLayer, outputSizeLinearLayer))
.add(Dropout(0.1))
.add(ReLU())
.add(Linear(inputSizeLinearLayer2, outputSizeLinearLayer2))
.add(LogSoftMax())
Model Architecture
In BigDL
46. val criterion = new ClassNLLCriterion[Double]
val optimizer = Optimizer(model, trainData, criterion, batchSize)
optimizer
.setOptimMethod(
new Adagrad(learningRate, learningRateDecay))
.optimize()
Training model
In BigDL
47. val criterion = new ClassNLLCriterion[Double]
val optimizer = Optimizer(model, trainData, criterion, batchSize)
optimizer
.setOptimMethod(
new Adagrad(learningRate, learningRateDecay))
.optimize()
Training model
In BigDL
48. val optimizer = Optimizer.apply(model, trainData, criterion, 6)
val logdir = "mylogdir"
val appName = "job-offers-filter"
val trainSummary = TrainSummary(logdir, appName)
val validationSummary = ValidationSummary(logdir, appName)
optimizer.setTrainSummary(trainSummary)
optimizer.setValidationSummary(validationSummary)
optimizer
.setOptimMethod(
new Adagrad(learningRate = 0.01, learningRateDecay = 0.0002))
.optimize()
Config for tensorboard
58. Post more job offers on comm-montpellier.slack !
https://bit.ly/comm-mtp
offres qualifiées correctement tant sur le domaine,
les technos que la fourchette salariale. Ou à minima
avec un pitch marrant ;)