Professional Documents
Culture Documents
Download textbook Deep Learning With Python Develop Deep Learning Models On Theano And Tensorflow Using Keras Jason Brownlee ebook all chapter pdf
Download textbook Deep Learning With Python Develop Deep Learning Models On Theano And Tensorflow Using Keras Jason Brownlee ebook all chapter pdf
https://textbookfull.com/product/deep-learning-for-natural-
language-processing-develop-deep-learning-models-for-natural-
language-in-python-jason-brownlee/
https://textbookfull.com/product/deep-learning-projects-using-
tensorflow-2-neural-network-development-with-python-and-
keras-1st-edition-vinita-silaparasetty/
https://textbookfull.com/product/deep-learning-with-applications-
using-python-chatbots-and-face-object-and-speech-recognition-
with-tensorflow-and-keras-springerlink-online-service/
https://textbookfull.com/product/beginning-anomaly-detection-
using-python-based-deep-learning-with-keras-and-pytorch-sridhar-
alla/
Computer Vision Using Deep Learning Neural Network
Architectures with Python and Keras 1st Edition Vaibhav
Verdhan
https://textbookfull.com/product/computer-vision-using-deep-
learning-neural-network-architectures-with-python-and-keras-1st-
edition-vaibhav-verdhan/
https://textbookfull.com/product/deep-learning-for-time-series-
forecasting-predict-the-future-with-mlps-cnns-and-lstms-in-
python-jason-brownlee/
https://textbookfull.com/product/reinforcement-learning-with-
open-ai-tensorflow-and-keras-using-python-1st-edition-abhishek-
nandy/
https://textbookfull.com/product/deep-learning-with-python-learn-
best-practices-of-deep-learning-models-with-pytorch-2nd-edition-
nikhil-ketkar-jojo-moolayil/
https://textbookfull.com/product/deep-learning-with-python-learn-
best-practices-of-deep-learning-models-with-pytorch-2nd-edition-
nikhil-ketkar-jojo-moolayil-2/
��������������������������������
����������������������������
�����
��������������
Jason Brownlee
Edition: v1.7
Contents
Preface iii
I Introduction 1
1 Welcome 2
1.1 Deep Learning The Wrong Way . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Deep Learning With Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Book Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Requirements For This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Your Outcomes From Reading This Book . . . . . . . . . . . . . . . . . . . . . . 7
1.6 What This Book is Not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
II Background 10
2 Introduction to Theano 11
2.1 What is Theano? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 How to Install Theano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Simple Theano Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Extensions and Wrappers for Theano . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 More Theano Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Introduction to TensorFlow 15
3.1 What is TensorFlow? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 How to Install TensorFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3 Your First Examples in TensorFlow . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Simple TensorFlow Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5 More Deep Learning Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.6 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Introduction to Keras 19
4.1 What is Keras? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 How to Install Keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Theano and TensorFlow Backends for Keras . . . . . . . . . . . . . . . . . . . . 20
ii
iii
20.10Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Deep learning is a fascinating field. Artificial neural networks have been around for a long time,
but something special has happened in recent years. The mixture of new faster hardware, new
techniques and highly optimized open source libraries allow very large networks to be created
with frightening ease.
This new wave of much larger and much deeper neural networks are also impressively skillful
on a range of problems. I have watched over recent years as they tackle and handily become
state-of-the-art across a range of difficult problem domains. Not least object recognition, speech
recognition, sentiment classification, translation and more.
When a technique comes a long that does so well on such a broad set of problems, you have
to pay attention. The problem is where do you start with deep learning? I created this book
because I thought that there was no gentle way for Python machine learning practitioners to
quickly get started developing deep learning models.
In developing the lessons in this book, I chose the best of breed Python deep learning library
called Keras that abstracted away all of the complexity, ruthlessly leaving you an API containing
only what you need to know to efficiently develop and evaluate neural network models.
This is the guide that I wish I had when I started apply deep learning to machine learning
problems. I hope that you find it useful on your own projects and have as much fun applying
deep learning as I did in creating this book for you.
Jason Brownlee
Melbourne, Australia
2016
viii
Part I
Introduction
1
Chapter 1
Welcome
Welcome to Deep Learning With Python. This book is your guide to deep learning in Python.
You will discover the Keras Python library for deep learning and how to use it to develop and
evaluate deep learning models. In this book you will discover the techniques, recipes and skills
in deep learning that you can then bring to your own machine learning projects.
Deep learning does have a lot of fascinating math under the covers, but you do not need
to know it to be able to pick it up as a tool and wield it on important projects and deliver
real value. From the applied perspective, deep learning is quite a shallow field and a motivated
developer can quickly pick it up and start making very real and impactful contributions. This is
my goal for you and this book is your ticket to that outcome.
You can see that the “common sense” advice means that it is not until after you have
completed years of study and experience that you are ready to actually start developing and
evaluating machine learning model for your machine learning projects.
I think this advice is dead wrong.
2
1.2. Deep Learning With Python 3
Lessons where you learn about specific features of neural network models and or how to
use specific aspects of the Keras API.
Projects where you will pull together multiple lessons into an end-to-end project and
deliver a result, providing a template your your own projects.
Recipes where you can copy and paste the standalone code into your own project,
including all of the code presented in this book.
Background.
Multilayer Perceptrons.
At the end of this part you will know how to confidently wield Keras on your own machine
learning projects with a focus of the finer points of investigating model performance, persisting
models for later use and gaining lifts in performance over baseline models.
The best way to learn about this impressive type of neural network model is to apply it.
You will work through three larger projects and apply CNN to image data for object recognition
and text data for sentiment classification.
After completing the lessons and projects in this part you will have the skills and the
confidence of complete and working templates and recipes to tackle your own deep learning
projects using convolutional neural networks.
1.4. Requirements For This Book 6
The best way to learn about this complex type of neural network model is to apply it.
You will work through two larger projects and apply RNN to sequence classification and text
generation.
After completing the lessons and projects in this part you will have the skills and the
confidence of complete and working templates and recipes to tackle your own deep learning
projects using recurrent neural networks.
1.3.7 Conclusions
The book concludes with some resources that you can use to learn more information about a
specific topic or find help if you need it as you start to develop and evaluate your own deep
learning models.
1.3.8 Recipes
Building up a catalog of code recipes is an important part of your deep learning journey. Each
time you learn about a new technique or new problem type, you should write up a short code
recipe that demonstrates it. This will give you a starting point to use on your next deep learning
or machine learning project.
As part of this book you will receive a catalog of deep learning recipes. This includes recipes
for all of the lessons presented in this book, as well as the complete code for all of the projects.
You are strongly encouraged to add to and build upon this catalog of recipes as you expand
your use and knowledge of deep learning in Python.
Python version 2 or 3 installed. This book was developed using Python version 2.7.11.
SciPy and NumPy installed. This book was developed with SciPy version 0.17.0 and
NumPy version 1.11.0.
Matplotlib installed. This book was developed with Matplotlib version 1.5.1.
Pandas installed. This book was developed with Pandas version 0.18.0.
You do not need to match the version exactly, but if you are having problems running a
specific code example, please ensure that you update to the same or higher version as the library
specified. You will be guided as to how to install the deep learning libraries Theano, TensorFlow
and Keras in Part II of the book.
How to use more advanced techniques required for developing state-of-the-art deep learning
models.
How to use advanced image augmentation techniques in order to lift model performance.
From here you can start to dive into the specifics of the functions, techniques and algorithms
used with the goal of learning how to use them better in order to deliver more accurate predictive
models, more reliably in less time. There are a few ways you can read this book. You can dip
into the lessons and projects as your need or interests motivate you. Alternatively, you can
work through the book end-to-end and take advantage of how the lessons and projects build in
complexity and range. I recommend the latter approach.
To get the very most from this book, I recommend taking each lesson and project and build
upon them. Attempt to improve the results, apply the method to a similar but di↵erent problem,
and so on. Write up what you tried or learned and share it on your blog, social media or send
me an email at jason@MachineLearningMastery.com. This book is really what you make of it
and by putting in a little extra, you can quickly become a true force in applied deep learning.
This is not a deep learning textbook. We will not be getting into the basic theory
of artificial neural networks or deep learning algorithms. You are also expected to have
some familiarity with machine learning basics, or be able to pick them up yourself.
This is not an algorithm book. We will not be working through the details of how
specific deep learning algorithms work. You are expected to have some basic knowledge of
deep learning algorithms or how to pick up this knowledge yourself.
This is not a Python programming book. We will not be spending a lot of time on
Python syntax and programming (e.g. basic programming tasks in Python). You are
expected to already be familiar with Python or a developer who can pick up a new C-like
language relatively quickly.
You can still get a lot out of this book if you are weak in one or two of these areas, but you
may struggle picking up the language or require some more explanation of the techniques. If
this is the case, see the Getting More Help chapter at the end of the book and seek out a good
companion reference text.
1.7. Summary 9
1.7 Summary
It is a special time right now. The tools for applied deep learning have never been so good.
The pace of change with neural networks and deep learning feels like it has never been so fast,
spurred by the amazing results that the methods are showing in such a broad range of fields.
This is the start of your journey into deep learning and I am excited for you. Take your time,
have fun and I’m so excited to see where you can take this amazing new technology.
1.7.1 Next
Let’s dive in. Next up is Part II where you will take a whirlwind tour of the foundation libraries
for deep learning in Python, namely the numerical libraries Theano and TensorFlow and the
library you will be using throughout this book called Keras.
Part II
Background
10
Chapter 2
Introduction to Theano
Theano is a Python library for fast numerical computation that can be run on the CPU or GPU.
It is a key foundational library for deep learning in Python that you can use directly to create
deep learning models. After completing this lesson, you will know:
How a very simple symbolic expression can be defined, compiled and calculated.
11
2.2. How to Install Theano 12
Theano v0.8.2is the latest at the time of writing and is used in this book.
2.6 Summary
In this lesson you discovered the Theano Python library for efficient numerical computation.
You learned:
Theano is a foundation library used for deep learning research and development.
The development and evaluation of deep learning models is easier with wrapper libraries
like Keras.
2.6.1 Next
You now know about the Theano library for numerical computation in Python. In the next
lesson you will discover the TensorFlow library released by Google that attempts to o↵er the
same capabilities.
Chapter 3
Introduction to TensorFlow
TensorFlow is a Python library for fast numerical computing created and released by Google.
It is a foundation library that can be used to create deep learning models directly or by using
wrapper libraries that simplify the process built on top of TensorFlow. After completing this
lesson you will know:
15
3.3. Your First Examples in TensorFlow 16
environment, it is relatively straightforward to install TensorFlow using pip There are a number
of di↵erent distributions of TensorFlow, customized for di↵erent environments, therefore to
install TensorFlow you can follow the Download and Setup instructions3 on the TensorFlow
website. , for example:
TensorFlow v0.10.0is the latest at the time of writing and is used in this book.
Nodes: Nodes perform computation and have zero or more inputs and outputs. Data that
moves between nodes are known as tensors, which are multi-dimensional arrays of real
values.
Edges: The graph defines the flow of data, branching, looping and updates to state.
Special edges can be used to synchronize behavior within the graph, for example waiting
for computation on a number of inputs to complete.
Operation: An operation is a named abstract computation which can take input attributes
and produce output attributes. For example, you could define an add or multiply operation.
Running the example prints the output 4, which matches our expectation that 1.5 + 2.5 = 4.0.
This is a useful example as it gives you a flavor for how a symbolic expression can be defined,
compiled and used. Although we have only performed a basic introduction of adding 2 and 2,
you can see how pre-defining computation to be compiled for efficiency may be scaled up to
large vector and matrix operations required for deep learning.
Also check the examples directory as it contains an example using the MNIST dataset.
There is also an excellent list of tutorials on the main TensorFlow website4 . They show how
to use di↵erent network types, di↵erent datasets and how to use the framework in various
di↵erent ways. Finally, there is the TensorFlow playground5 where you can experiment with
small networks right in your web browser.
3.6 Summary
In this lesson you discovered the TensorFlow Python library for deep learning. You learned:
Like Theano, deep learning models can be developed directly in TensorFlow if desired.
Also like Theano, TensorFlow may be better leveraged by a wrapper library that abstracts
the complexity and lower level details.
4
https://www.tensorflow.org/versions/r0.9/tutorials/
5
http://playground.tensorflow.org/
3.6. Summary 18
3.6.1 Next
You now know about the Theano and TensorFlow libraries for efficient numerical computation
in Python. In the next lesson you will discover the Keras library that wraps both libraries and
gives you a clean and simple API for developing and evaluating deep learning models.
Chapter 4
Introduction to Keras
Two of the top numerical platforms in Python that provide the basis for deep learning research
and development are Theano and TensorFlow. Both are very powerful libraries, but both can
be difficult to use directly for creating deep learning models. In this lesson you will discover
the Keras Python library that provides a clean and convenient way to create a range of deep
learning models on top of Theano or TensorFlow. After completing this lesson you will know:
Modularity: A model can be understood as a sequence or a graph alone. All the concerns
of a deep learning model are discrete components that can be combined in arbitrary ways.
Minimalism: The library provides just enough to achieve an outcome, no frills and
maximizing readability.
Extensibility: New components are intentionally easy to add and use within the frame-
work, intended for developers to trial and explore new ideas.
Python: No separate model files with custom file formats. Everything is native Python.
19
Another random document with
no related content on Scribd:
Madidu Elaui Agola Badjehun Karikari
(present Chief) (dead) (dead)
ALIMSAR
SERFS OR IMRADS.
Kel Gossi—Chief Ur illies. Tar’ahil—Chief Ekerech.
Irreganaten—Chief Ur orda. Ikairiraen—Chief Ezemek.
Iueraruarar’en—Chief Mahamud. Erkaten—Chief Elanusi.
Imideddar’en—Chief Huberzan. Ikawellaten—Chief Ibunafan.
Ibongitan—Chief Allabi. Ihaiauen—Chief Abba.
Tafagagat—Chief Karrabau. Kel R’ezafan—Chief Amachecha.
Wild manners truly do these lines describe, but they also express
proud and heroic sentiments. What will the Tuaregs gain by their
transformation into civilized people?
In a few centuries, where the tents of the Amezzar are pitched
there will be permanent towns. The descendants of the Ihaggaren of
the present day will be citizens. There will be nothing about them to
remind their contemporaries of the wild knights of the desert.
No more will they go to war; no more will they lead razzis to
ravage the camps of their neighbours, for they will have given up
pillage altogether; but perhaps in a bank, which will take the place of
the tent of their Amenokal, they will try to float rotten companies, and
mines which exist nowhere but in the imagination of their chiefs.
What will they be then? Not pillagers but thieves!
Truth to tell, I think I prefer my marauders, who fall on their prey
like the lion Ahar!
AN AFRICAN CAMEL.
AN ISOLATED TREE AT FAFA.
CHAPTER VI
Our dread of the passage of the river at Fafa may have seemed
almost childish, and we have since had experience of many another
like it, but for a first attempt it must be admitted it was rather a
teaser.
Narrow and much encumbered, made more difficult by a violent
current, such is the pass of Fafa.
We took as guide the son of the chief of the village, who was later
to pay us a visit at Say. Thanks to him and with the help of his men
we crossed the first rapids without too much difficulty; but, alas! the
rope which was used to transmit to the rudder the movements of the
helm broke just as we emerged from them. Had this happened thirty
seconds sooner the Davoust could not have answered to her helm,
and would have been flung upon the rocks. The damage repaired,
we steered once more into the current, wending our way cautiously
amongst the numerous islands, skirting the course of the reef, our
good star bringing us safely into a quiet reach extending as far as
Wataguna, where we again came to flints lining the bed of the
stream.
In the evening we reached Karu, the Aube having struck once by
the way, but without sustaining much damage; still all these shocks
did not add to her waterproof qualities, and as she shipped more and
more water our anxiety and fatigue became greater and greater. We
had constantly to empty the hold, which did not conduce to the
repose of the passengers, who were often woke up by the noise we
made with our buckets.
FAFA.
Often from behind some little jutting out point which intercepted
our view I heard a peculiar noise, a sort of dull but vague roar. The
rate of the current too increased rapidly, and we rushed along at a
rate of five miles an hour at the least. We listened eagerly, but all of a
sudden we saw that the stream was barred from side to side, a
distance of something like a thousand yards, by a positive wall of
rocks against which the water was dashing up in foam.
Our idiot of a guide looked up at last and saw the danger. He
motioned to us to steer for the bank, but rushing along as we were
with the tremendous current, to attempt to do so would have been
merely to drift helplessly on to the line of rocks, so we continued to
dash on with a speed which almost made me giddy, and presently, to
my intense relief, I saw a place on the right where there was less
foam. Yes, it was the pass, it was the gate of safety, we must make
for it, but was there any hope of our reaching it?
Our coolies bent to their oars and rowed so hard that they were in
danger of breaking them, whilst the sweat poured down their shining
black skins. I had just time to hoist the signal “Do as we do!” which
most fortunately Baudry and the captain of the Dantec understood.
They were just behind us. Now up with the oars and trust to our luck!
The speed increases yet more, the stream sweeps the boat towards
the pass, where it flings itself into the lower reach: we feel ourselves
falling, we shudder, we realize the fatal attraction drawing us in the
direction of the whirlpool; then like an arrow we shoot safely through
the opening. All is well with us at least. Our next anxiety is for our
comrades; we look behind, and a cry of terror bursts from our lips.
The Dantec, which is the next to attempt the pass, has stopped
suddenly; her mast is swept asunder, and has been flung across the
bow by the violence of the shock. All the men were thrown at the
same moment to the bottom of the boat, for the unlucky barge, which
had tried to pass about three feet on one side of the place where we
had got safely through, had struck against a rock which was hidden
by the whirling foam. She received a tremendous blow, but
fortunately did not sink.
But where was the Aube? That was our care now. She was
approaching rapidly, borne on by the current, but the whole pass was
blocked before her. She would crash into the Dantec, and both
vessels must inevitably be wrecked.
But no! Clouds of spray dash up over bow and stern alike; Baudry
has flung out the anchor and the grappling-iron: oh that they may
grip properly!
Thank God! They have. The Aube stops short some three
hundred yards at least from the Dantec at the brink of the rapid.
But what in the world is up now? The Aube is tilted at an angle of
some 45 degrees! The force of the current is such that it has taken
her in the rear and forced her into this extraordinary position, whilst
the grappling-chains and those of the anchor are strained to the
uttermost, producing the terrifying result described.
I now moored the Davoust to the bank, for we must try to save our
other boats.
With regard to the Dantec it was a simple affair enough, for she is
a wonderful little craft, answering readily to the helm, and so buoyant
that we got off with no worse damage than the bursting asunder of a
couple of planks of her bottom. I sent Digui to help the men on board
of her, and she got safely through.
The rescue of the Aube was a more difficult matter, especially as
her rudder had got broken in the struggle. The anchor was raised all
right, but when it came to the grappling-iron we could not make it
budge; it had probably got jammed between two rocks, and all our
efforts to move it were in vain, indeed they only seemed to fix it more
firmly.
Driven on by the wind and whirled round by the strong eddies of
the current, the unfortunate barge began to describe semicircles
round her own grappling-iron. Of course when we once cut the chain
there would be no time to steer her, and we must therefore manage
to divide it exactly at the moment when she was opposite to the
opening she had to pass through. One second too soon or too late
and she would be lost.
I had climbed to the top of a little ridge, and with fast beating heart
I watched Baudry making his dispositions for the manœuvre he had
to attempt. A Tuareg chose this moment of awful suspense to tap me
on the shoulder and greet me with the formal salutation, Salam
radicum mahindia, and you can imagine how much notice I took of
him.
Without being at all put out by my silence, however, he went on—
“I see that you are in trouble. I have watched all that has been
going on from my camp behind the hills, and ever since early
morning I have felt sure that you were all lost. But God has saved
you and your people. I have forbidden my tribe to come and bother
you, for you know that we always beg of every one. Well, I am going
now, but if you have need of us, Tuaregs and negroes alike are
ready to help you, you have only to send me a messenger. Our
Amenokal has ordered us to meet your wishes.”
As he finished his speech, I saw Digui deal a great blow to the
chain of the grappling-iron. The Aube fell into the rapid, but she
could not avoid the rock on which the Dantec had struck already.
She strikes, and the whole of her starboard side is completely
immersed. Is she staved in? No, her speed is such that she rushes
on as if nothing had happened. She is saved. A moment later she is
moored beside the Davoust.
“Not so much as a hole in her, Baudry!” I cried.
“No, I don’t think there is,” he replied, “but we had a narrow
escape.” We overhauled her, and there was not a leak anywhere. In
fact, Baudry declared that her planks were really more watertight
than ever.
Then my Tuareg, who had not gone away after all, but whom I
had completely forgotten, spoke to me again: “Enhi!” he said, which
means simply “look!” but his great wild black eyes shone with
pleasure from out of his veil as if some piece of good luck had
happened to himself.
Now are these Tuaregs brutes? are they men who can only be
swayed by interested motives? What nonsense to say they are!
Where did the interested motives come in here? Would it not have
been better for him if our boats had all been sucked down in the
rapids? We ourselves and all our goods would then have been his
lawful prey.
May Providence only grant that I never find any of my fellow-
countrymen worse than the Tuaregs.
You may be sure the brave fellow got his parcel of goods and
many other things as well. With his long swinging step he went off to
his people again, shouting to us by way of adieu, “Ikfak iallah el
Kheir” (“may God give thee all good things!”)
This was, however, but the first of the Labezenga rapids, and that
the easiest. We had scarcely gone a hundred yards further when we
came to a regular cataract some two feet high, barring our passage.
On one side rose lofty heights, on the left the stream was broken into
several arms by islands. In fact, there did not seem to be any
opening on either side, and we were all but in despair of getting
through this time.
Baudry spent the whole afternoon with our guide from Karu,
seeking a practicable pass, but everywhere the scene before him
was most forbidding, one cataract succeeding another and
alternating with boiling whirlpools, whilst the current rushed on at a
rate of seven or eight miles at the least. The river simply seems to
writhe in its course, and here and there it dashes backwards and
forwards from one side to the other of its bed as if in a state of
frenzy. There must be a difference of something like seven feet in the
height of the water.
The least impracticable place seemed to be on the left of our
anchorage between two islands, but I never should have believed
that any boat could pass through even that. We had, however, to
make the venture, and any delay would only render it more difficult,
for the water was falling rapidly.
On the morning of Sunday the 15th
Father Hacquart celebrated mass and
we then prepared for the passage.
The crew of our two big barges was
not strong enough to navigate both at
once, so we decided to send each
vessel separately past the dangerous
THE ‘AUBE’ IN THE RAPIDS. spots, supplementing one crew from
the other, and later we always
adopted this plan, which worked well on emergencies.
Digui was the only one of our captains who could manage such
tours de force, for really there is no other word for the work he had to
perform. Idris, the quarter-master of the Aube, rather loses his head
amongst the rapids, and is absolutely no good as a leader. Of course
all that can be done is to give a general indication of the course to be
pursued, and when the manœuvre has once begun everything must
be left to the intelligence of the pilot, and Digui alone of all my men
was really worthy to be trusted at the helm.
We fortified ourselves with a good cup of coffee, feeling that it
might be our last, and the Davoust started, Baudry following us in a
canoe.
The scene before us was very much what it had been the day
before—a narrow pass, a diabolical current producing an impression
of unfathomable depth, which made our hearts sink and our breath
come in gasps. On either side the water whirled and surged and
roared unceasingly as it dashed over the huge rocks. Suddenly there
was a tremendous shock, and the boat seemed to slide away from
under our feet. It was the Davoust’s turn to-day. A hidden rock had
battered a hole in her bow in my cabin. Through the gap, some 20
inches big, the water came in in floods, and in less than ten seconds
it was a couple of feet deep.
But it was written in the book of fate that we were to go down to
the sea in the Davoust, and in spite of all our misfortunes, in spite of
everything being against us, in spite of reason, in spite of logic,
something always turned up to save us even at what seemed the
very last moment. The expected miracle always happened, and it is
no exaggeration to say that we experienced dozens of such
miracles.
We were going at such a rate when we struck the rock that for
one instant the barge remained as it were suspended on it, but the
next it was over it and in deep water again.
It so happened, as good luck would have it, that my servant
Mamé was in my cabin when the boat struck, and the water rushed
in at his very feet.
For the brave fellow to tear off his burnous, roll it into a ball and
shove it into the gap in the planks was the work of a few seconds;
that is to say, of just the time during which the rock held us fixed,
preventing us from settling down. We were saved once more. The
miracle had been performed. Only do not fail to notice what a
combination of circumstances was required to bring about the result:
the immense speed with which we were going making us actually
mount the rock, with the presence of Mamé in my cabin all ready to
stop up the hole!
The Dantec passed through with us without difficulty, and it was
now the turn of the Aube. Digui attempted a manœuvre with her of
positively extraordinary audacity. Knowing all too well that the rock
which had been nearly fatal to us could not possibly be evaded, he
simply flung the boat upon the grass-covered bank, and she climbed
up, driven on by the great speed of the current. Then he let her slide
down again backwards, or, to use the strictly nautical term, to fall
astern.
For all this, however, we every one of us had to pay toll in one
way or another at this infernal Labezenga. The Aube grated on the
point of a hidden rock just as she was about to join us again in quiet
water.
It was now two o’clock in the afternoon, and we had been eight
hours getting over a little more than half a mile in a straight line. We
were famished with hunger, and our craving for food became almost
unbearable. I constituted myself cook, and drawing upon our
reserves of tinned meats and preserved vegetables, which we all felt
we were justified in doing under the circumstances, I seized what
came first, and tumbled everything helter-skelter into a saucepan.
We all devoured the result, which I called tripes à la Labezenga,
without in the least knowing what we were eating. I will give the
recipe to all who wish to emulate Vatel: tripes à la mode de Caen,
truffles, esculent boletus, haricots verts, with plenty of pepper and
spice, served hot. In N. Lat. 14° 57′ 30″, after just escaping from
drowning or from death in the jaws of a crocodile, nothing could be
more delicious, but somehow I have never ventured to try my olla
podrida again in France.
After a little rest, which was indeed well earned, Baudry went with
Digui to the village of Labezenga to try and get guides. He came
back in a state of terror at what he had seen.
For more than a month we had to lead a life such as I have just
described. What I have said will give an idea of all we went through. I
don’t want to dwell too much on our sufferings now that they are
over. Once embarked on such an enterprise as this there is nothing
for it but to go straight ahead, and by degrees one gets accustomed